日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第一次的爬虫小试(爬取网页文本)

發(fā)布時間:2024/8/1 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第一次的爬虫小试(爬取网页文本) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

  • 一、導(dǎo)入需要的模塊:
  • 二、網(wǎng)頁中找到對應(yīng)的標簽:
    • (1)、首先我們要先在網(wǎng)頁中找到文本所在的范圍(如圖(有開發(fā)者工具的瀏覽器按下F12即可查看)):
    • (2)、接下來我們要找到網(wǎng)頁的頁碼超鏈接:
  • 三.、提取文本:
  • 四、下面是源碼:

一、導(dǎo)入需要的模塊:

  • Urllib和requests模塊是python中發(fā)起http請求最常見的模塊,但是requests模塊使用更加方便簡單。

  • lxml解析網(wǎng)頁

  • docx是創(chuàng)建一個document文檔對象

二、網(wǎng)頁中找到對應(yīng)的標簽:

(1)、首先我們要先在網(wǎng)頁中找到文本所在的范圍(如圖(有開發(fā)者工具的瀏覽器按下F12即可查看)):


可以看出我們在選中 class = content 的標簽時是對應(yīng)我們需要的文本所在的位置

我們在class = content下面找到文本所在的標簽

在 p 標簽中我們找到了我們所需要的文字
那么我們就在此寫下

texts = root.xpath('//div[@class="content"]/p/text()')

(2)、接下來我們要找到網(wǎng)頁的頁碼超鏈接:


找到頁碼超鏈接之后我們發(fā)現(xiàn)他只是一個更改數(shù)字的頁碼鏈接并不是js
這就好辦了

pageNum = [] #建立列表url = 'https://www.dati56.com/post/13635.html?ipage={}' # 所需要的網(wǎng)址 for i in range(1, 23): #因為頁碼就只有22頁所以這里要限制范圍pageNum.append(i) # 將頁碼加入到一個列表里for item in pageNum:Url = url.format(item) # 將頁面數(shù)字利用format方法進行填充Url(建議用大小寫區(qū)分不然下面的url=Url有點問題就只輸出第一頁的內(nèi)容)

注意:強調(diào)一點,最后一行的Url = url 我是前一個用了大寫后面用的小寫,如果用成小寫,后面運行出來是循環(huán)截取但是直截取了第一頁的內(nèi)容,所以這里還是寫成大寫的(也可以自己去研究一下哈。)

三.、提取文本:

因為小編也是一個初學(xué)者,這串代碼是在別處借鑒的稍后我會在后面寫出出處

if __name__ == '__main__':headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) ''AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36'}document = Document()rs = requests.get(url=Url, headers=headers)root = etree.HTML(rs.content)texts = root.xpath('//div[@class="content"]/p/text()')#網(wǎng)址內(nèi)的分布for text in texts:str(text).replace('\xa0\xa0\xa0', '')document.add_paragraph(text)print(text)#輸出爬取的值document.save('勞動通論.docx')#導(dǎo)出并創(chuàng)建成word文檔

四、下面是源碼:

''' 功能:爬取網(wǎng)頁中的“文本”并導(dǎo)出成docx CSDN作者:莫莫先生 修改:Sherry 問題:現(xiàn)還不能一次性在同一個文件下導(dǎo)出,需要在Pycharm或者Anaconda運行輸出后自行復(fù)制粘貼 ''' import requestsfrom lxml import etreefrom docx import DocumentpageNum = []url = 'https://www.dati56.com/post/13635.html?ipage={}' # 網(wǎng)址 for i in range(1, 23):# 將頁碼加入到一個列表里pageNum.append(i)for item in pageNum:# 將頁面數(shù)字利用format方法進行填充UrlUrl = url.format(item)if __name__ == '__main__':headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) ''AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36'}document = Document()rs = requests.get(url=Url, headers=headers)root = etree.HTML(rs.content)texts = root.xpath('//div[@class="content"]/p/text()')#網(wǎng)址內(nèi)的分布for text in texts:str(text).replace('\xa0\xa0\xa0', '')document.add_paragraph(text)print(text)document.save('勞動通論.docx')

這是原作者:https://blog.csdn.net/weixin_44835732/article/details/103047765
最后如果有什么不懂的、或者有更好的意見,歡迎留言,私信交流。
侵聯(lián)刪

總結(jié)

以上是生活随笔為你收集整理的第一次的爬虫小试(爬取网页文本)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。