python scrapy爬取下一層url

2021-10-10 01:42:04 字數 982 閱讀 6887

話不多說,先上scrapy**,這裡沒有用到管道進行寫入操作,就簡單地列印一下。

如果需要寫入到檔案,pg函式裡面的name和downlink記得還要再遍歷一下,因為下面的是列**式,遍歷後就是文字格式了。

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)

**看起來很簡單,其實主要是通過2個迴圈和1個函式來實現對下一層url的解析。

第二個迴圈實際上是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...