函數介紹 函數功能簡單介紹 庫函數介紹 import requests#請求網頁 from lxml import etree#對網頁進行解析 函數功能介紹 函數1 def getdata(url): html=requests.get(url).text # print(html) doc=etr ...
函數介紹
函數功能簡單介紹
庫函數介紹
import requests#請求網頁 from lxml import etree#對網頁進行解析
函數功能介紹
函數1
def getdata(url): html=requests.get(url).text # print(html) doc=etree.HTML(html)#構造xpath的解析對象 contents=doc.xpath('//*[@class="cf"]/li') # print(contents) for content in contents: links=content.xpath('h2/a/@href') for link in links: hurl="https:"+link#小說某一章的網址 html=requests.get(hurl).text#獲取到源代碼 doc=etree.HTML(html)#構造xpath解析對象 title=doc.xpath('//*[@class="text-wrap"]/div/div[1]/h3/span[1]/text()') content=doc.xpath('//*[@class="read-content j_readContent"]/p/text()') with open('novel/%s.txt'%title[0],mode='w',encoding='utf-8') as f: for abd in content: f.write(abd)
函數功能比較簡單,所以就沒有對其中的保存小說的函數進行封裝,有興趣的可以自己嘗試一下。
完整代碼
#獲取起點小說的爬蟲程式 #倒推法 import requests from lxml import etree url="https://book.qidian.com/info/1979049/#Catalog"#小說的網址 def getdata(url): html=requests.get(url).text # print(html) doc=etree.HTML(html)#構造xpath的解析對象 contents=doc.xpath('//*[@class="cf"]/li') # print(contents) for content in contents: links=content.xpath('h2/a/@href') for link in links: hurl="https:"+link#小說某一章的網址 html=requests.get(hurl).text#獲取到源代碼 doc=etree.HTML(html)#構造xpath解析對象 title=doc.xpath('//*[@class="text-wrap"]/div/div[1]/h3/span[1]/text()') content=doc.xpath('//*[@class="read-content j_readContent"]/p/text()') with open('novel/%s.txt'%title[0],mode='w',encoding='utf-8') as f: for abd in content: f.write(abd) a=getdata(url)
函數功能介紹
學習了entree對網頁源碼進行解析,requests庫對網頁進行解析獲得源碼,同時代碼中還用到了獲取標簽xpath的方法,xpath的解析將在下一篇文章進行解析。