python 爬虫模板
前言
在我们写爬虫的时候,一般想要的数据都在详情页里面,一般代码进入详情页参数,需要首页里面寻找,所以爬这样的网站,需要定义一个模板
我的模板如下:
import random import time import requests from auction import logtool from auction.BaseCrawler import BaseCrawler class Wk(BaseCrawler): def __init__(self): super().__init__() self.headers = {} #公用的 self.session = requests.Session() self.session.headers.update(self.headers) def data_list(self, *args, **kwargs): #请求首页数据 pass def data_details(self, *args, **kwargs): # 请求详情页 pass def get_total_page(self, *args, **kwargs): pass def parse_data_list(self, *args, **kwargs): # 解析详情页需要的数据 pass def parse_data_details(self, *args, **kwargs): # 解析详情页 pass def action(self, *args, **kwargs): maxpage = 1 # 页数 logtool.info("开始爬取") logtool.info("进入网页") urls = '' # 详情页接口 # 翻页 for i in range(maxpage): # 请求列表页 json_datas = self.data_list(page=i) datas = self.parse_data_list(json_datas=json_datas) for _, data in enumerate(datas): json_datas = self.data_details(url=urls) details_data = self.parse_data_details(json_datas=json_datas) print(f"第{i + 1}页,第{_ + 1}条完成!!!") if __name__ == '__main__': wk = Wk() wk.action()