当前位置 : 主页 > 编程语言 > python >

Python爬虫的一些事

来源:互联网 收集:自由互联 发布时间:2023-02-04
对于爬虫工作者来说,如果我们爬虫想多爬取一些网页,不仅仅只是爬取主页,相把其他页面也爬取下来,这就是本文的任务。 修改代码 在之前的基础上,修改 teamssix_blog_spider.py 文件

对于爬虫工作者来说,如果我们爬虫想多爬取一些网页,不仅仅只是爬取主页,相把其他页面也爬取下来,这就是本文的任务。

修改代码

在之前的基础上,修改 teamssix_blog_spider.py 文件,首先添加 start_urls

start_urls = [ 'https://www.teamssix.com', 'https://www.teamssix.com/page/2/', 'https://www.teamssix.com/page/3/', 'https://www.teamssix.com/page/4/', 'https://www.teamssix.com/page/5/']

接下来在 sub_article 函数尾部添加 parse 函数的全部代码

soup = BeautifulSoup(response.text, 'html.parser')for i in soup.select('.post-title'): url = 'https://www.teamssix.com{}'.format(i['href']) yield scrapy.Request(url, callback=self.sub_article)

所以 sub_article 函数的完整代码就是这个样子:

def sub_article(self,response): soup = BeautifulSoup(response.text,'html.parser') title = self.article_title(soup) list = self.article_list(soup) print(title) item = TeamssixItem(_id = response.url,title = title,list = list) yield item soup = BeautifulSoup(response.text, 'html.parser') for i in soup.select('.post-title'): url = 'https://www.teamssix.com{}'.format(i['href']) yield scrapy.Request(url, callback=self.sub_article)

从最后一行 callback=self.sub_article 这里不难看出这里其实就是一个循环, sub_article 函数第一遍执行完,又会调用继续执行第二遍,直到 start_urls 被执行完。

运行

代码修改的就这些,接下来直接 scrapy crawl blogurl 运行代码,来到 robo 3T 看看爬取到的数据。

上一篇:如何少花钱维护爬虫ip
下一篇:没有了
网友评论