成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Python3爬蟲下載pdf(一)

instein / 3225人閱讀

摘要:爬蟲下載一最近在學(xué)習(xí)的爬蟲,并且玩的不亦說乎,因此寫個博客,記錄并分享一下。

Python3爬蟲下載pdf(一)

最近在學(xué)習(xí)python的爬蟲,并且玩的不亦說乎,因此寫個博客,記錄并分享一下。

需下載以下模塊

bs4 模塊

requests 模塊

一、源碼
"""
功能:下載指定url內(nèi)的所有的pdf
語法:將含有pdf的url放到腳本后面執(zhí)行就可以了
"""

from bs4 import BeautifulSoup as Soup
import requests
from sys import argv

try:
    ##用于獲取命令行參數(shù),argv[0]是腳本的名稱
    root_url = argv[1]
except:
    print("please input url behind the script!!")
    exit()

##獲得含有所有a標(biāo)簽的一個列表
def getTagA(root_url):
    res = requests.get(root_url)
    soup = Soup(res.text,"html.parser")
    temp = soup.find_all("a")
    return temp

##從所有a標(biāo)簽中找到含有pdf的,然后下載
def downPdf(root_url,list_a):
    number = 0
    ##如果網(wǎng)站url是以類似xx/index.php格式結(jié)尾,那么只取最后一個/之前的部分
    if not root_url.endswith("/"):     
        index = root_url.rfind("/")
        root_url = root_url[:index+1]
    for name in list_a:
        name02 = name.get("href")
        ##篩選出以.pdf結(jié)尾的a標(biāo)簽
        if name02.lower().endswith(".pdf"):
            pdf_name = name.string 
            number += 1
            print("Download the %d pdf immdiately!!!"%number,end="  ")
            print(pdf_name+"downing.....") 
             ##因為要下載的是二進(jìn)制流文件,將strem參數(shù)置為True     
            response = requests.get(root_url+pdf_name,stream="TRUE")
            with open(pdf_name,"wb") as file:
                for data in response.iter_content():
                    file.write(data)

if __name__ == "__main__":
    downPdf(root_url,getTagA(root_url))
二、亮點

利用str.rfind("S") 函數(shù)來獲得 Sstr 從右邊數(shù)第一次出現(xiàn)的index

使用str.lower().endswith("S") 函數(shù)來判斷str 是否以S/s 結(jié)尾

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/40765.html

相關(guān)文章

  • Python3爬蟲下載pdf(二)

    摘要:爬蟲下載二最近在學(xué)習(xí)的爬蟲,并且玩的不亦說乎,因此寫個博客,記錄并分享一下。需下載下載以下模塊模塊模塊一源碼設(shè)置命令行參數(shù)功能下載目標(biāo)最大的線程數(shù)。方法的作用與內(nèi)置函數(shù)類似,不過函數(shù)會在多個線程中并發(fā)調(diào)用方法返回一個生成器。 Python3爬蟲下載pdf(二) 最近在學(xué)習(xí)python的爬蟲,并且玩的不亦說乎,因此寫個博客,記錄并分享一下。 需下載下載以下模塊 bs4模塊 reques...

    LancerComet 評論0 收藏0
  • 爬蟲 - 收藏集 - 掘金

    摘要:在這之前,還是有必要對一些概念超輕量級反爬蟲方案后端掘金前言爬蟲和反爬蟲日益成為每家公司的標(biāo)配系統(tǒng)。 爬蟲修煉之道——從網(wǎng)頁中提取結(jié)構(gòu)化數(shù)據(jù)并保存(以爬取糗百文本板塊所有糗事為例) - 后端 - 掘金歡迎大家關(guān)注我的專題:爬蟲修煉之道 上篇 爬蟲修煉之道——編寫一個爬取多頁面的網(wǎng)絡(luò)爬蟲主要講解了如何使用python編寫一個可以下載多頁面的爬蟲,如何將相對URL轉(zhuǎn)為絕對URL,如何限速,...

    1fe1se 評論0 收藏0
  • 50行Python代碼,教你獲取公眾號全部文章

    摘要:今天介紹一種通過抓包端微信的方式去獲取公眾號文章的方法。如上圖,通過抓包工具獲取微信的網(wǎng)絡(luò)信息請求,我們發(fā)現(xiàn)每次下拉刷新文章的時候都會請求這個接口。 本文首發(fā)自公眾號:python3xxx 爬取公眾號的方式常見的有兩種 通過搜狗搜索去獲取,缺點是只能獲取最新的十條推送文章 通過微信公眾號的素材管理,獲取公眾號文章。缺點是需要申請自己的公眾號。 showImg(//img.mukew...

    MartinHan 評論0 收藏0
  • Python3網(wǎng)絡(luò)爬蟲實戰(zhàn)---16、Web網(wǎng)頁基礎(chǔ)

    摘要:,簡稱為,是一種腳本語言,和配合使用,提供給用戶的只是一種靜態(tài)的信息,缺少交互性。這就是網(wǎng)頁的三大基本組成。父節(jié)點擁有子節(jié)點,同級的子節(jié)點被稱為兄弟節(jié)點。選擇屬于其父節(jié)點的首個節(jié)點的每個節(jié)點。同上,從最后一個 上一篇文章:Python3網(wǎng)絡(luò)爬蟲實戰(zhàn)---15、爬蟲基礎(chǔ):HTTP基本原理下一篇文章:Python3網(wǎng)絡(luò)爬蟲實戰(zhàn)---17、爬蟲基本原理 我們平時用瀏覽器訪問網(wǎng)站的時候,一個...

    netScorpion 評論0 收藏0
  • 干貨 | 學(xué)習(xí)Python的正確姿勢

    摘要:勤學(xué)學(xué)習(xí)效率與效果取決于執(zhí)行力。這一步學(xué)習(xí)的正確姿勢是在實踐操作中發(fā)掘問題,然后帶著問題找答案。拆分任務(wù)將目標(biāo)分解成具體可執(zhí)行的學(xué)習(xí)任務(wù)。勤學(xué)強大的執(zhí)行力是學(xué)習(xí)的根本保障。分享復(fù)述檢驗學(xué)習(xí)成果,提高學(xué)習(xí)效果的最好方法。 showImg(https://segmentfault.com/img/bVbcPGZ?w=256&h=256); 前段時間和大家一起分享了一篇關(guān)于學(xué)習(xí)方法內(nèi)容《大牛...

    Thanatos 評論0 收藏0

發(fā)表評論

0條評論

instein

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<