爬取漫客棧上的免費漫畫
每個漫畫的資訊都儲存在了div中,先獲取乙個div_list,然後再遍歷進行需要的資訊的收集。
div_list = response.xpath("//div[@class='cate-comic-list clearfix']/div")
for div in div_list:
item = {}
item["title"] = div.xpath("./p[1]/a/text()").extract_first()
item["detail_url"] = div.xpath("./a/@href").extract_first()
if item["detail_url"] is not none:
item["detail_url"] = urllib.parse.urljoin(response.url,item["detail_url"])
yield scrapy.request(
item["detail_url"],
callback=self.next_parse,
meta=
)
item = response.meta["item"]
li_list = response.xpath("//ul[@class='chapter__list-box clearfix hide']/li")
for li in li_list:
item["qk_url"] = li.xpath("./a/@data-hreflink").extract_first()
if item["qk_url"] is not none:
item["qk_url"] = urllib.parse.urljoin(response.url,item["qk_url"])
yield scrapy.request(
item["qk_url"],
callback=self.detail_parse,
meta=
)
item = response.meta["item"]
item["qi_kan"] = response.xpath("//a[@class='last-crumb']/text()").extract_first()
imgs =
div_list = response.xpath("//div[@class='rd-article-wr clearfix']/div")
for div in div_list:
img = div.xpath("./img/@data-src").extract_first()
if img is not none:
item["image_urls"] = imgs
yield item
去重部分用hashlib對的url進行乙個sha1的轉碼然後儲存到乙個txt文字,然後請求前進行乙個對比,如果存在則break,不存在則進行請求,然後把sha1碼給儲存到txt中。
for url in item["image_urls"]:
sha1 = hashlib.sha1()
sha1.update(url.encode())
a = sha1.hexdigest()
with open(self.filter_path, 'r') as f:
if a in f.read():
break
Scrapy爬取漫客棧漫畫實戰
廢話不多說,直接上 其它自己生成的檔案都不用去改,只需要在spiders資料夾內新建兩個.py檔案就行 1 cd f 程式設計 python scrapy 在標籤內有另外的標籤 所以要用 text 獲取所有文字 title chapter.xpath text extract if title is...
scrapy爬蟲框架
作者經過幾周的python爬蟲實踐之後,深入學習了一下scrapy這個爬蟲框架,現將一些基本知識和 總結整理一下,以備後查。2.scrapy的命令列使用 這部分網上很多部落格都有總結,不需要背,理解會用主要的命令 startproject crawl fetch list genspider.即可,...
scrapy 爬蟲框架
1.安裝 公升級pip版本 pip install upgrade pip 通過pip安裝scrapy框架 pip install scrapy 安裝成功 只執行scrapy 進行測試是否安裝成功 2.scrapy startproject 爬蟲專案名稱 執行此命令,可以生成乙個爬蟲專案 會預先生成...