話不多說,先上scrapy**,這裡沒有用到管道進行寫入操作,就簡單地列印一下。
如果需要寫入到檔案,pg函式裡面的name和downlink記得還要再遍歷一下,因為下面的是列**式,遍歷後就是文字格式了。
**看起來很簡單,其實主要是通過2個迴圈和1個函式來實現對下一層url的解析。import scrapy
class file01spider(scrapy.spider):
name = 'file01'
start_urls = ['']
page = 2
def parse(self, response):
urls = response.xpath('//table[@class="tbspan"]//a/@href').extract()
for u in urls:
u = '' + u
yield scrapy.request(url=u,callback=self.pg)
if self.page <= 221:
start_u = f'/html/gndy/dyzz/list_23_.html'
self.page += 1
yield scrapy.request(url=start_u, callback=self.parse)
def pg(self, response):
name = response.xpath('//div[@class="title_all"]/h1/font/text()').extract()
downlink = response.xpath('//table/tbody//a/@href').extract()
print(name)
print(downlink)
第二個迴圈實際上是parse裡面的if 語句,這裡是遞迴呼叫,因為scrapy.request裡面callback引數寫的是自身,主要作用是實現了翻頁功能~
Python Scrapy多頁資料爬取實現過程解析
1.先指定通用模板 url 程式設計客棧 d 通用的url模板 pagenum 1 2.對parse方法遞迴處理 parse第一次呼叫表示的是用來解析第一頁對應頁面中的資料 對後面的頁碼的資料要進行手動傳送 if self.pagenum 5 self.pagenum 1 new url forma...
爬取下拉載入的動態網頁資訊
爬取的 需要爬取的資訊如圖 觀察每一部分源 發現內容均在中,故打算用bs來寫 初始 為 其中,r和page均為變數,page有很強的規律性,表示頁數,而r並沒有什麼變化的規律,所以考慮將其刪掉,再開啟 時,發現沒有什麼影響,因此可以執行了。完整 如下。coding utf 8 from bs4 im...
求大佬幫忙用python爬取下這個頁面
建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...