从Crossin编程教室的站点的爬虫练习专栏展示的文章列表页(爬虫练习)分别进入每一篇文章的详细页面,获得每一篇文章的阅读数、点赞数和评论数并打印。
from lxml import etree
import requests
def pages_spider(id):
headers = {
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 '
'Safari/537.36'
}
url = 'http://111.230.211.102:8080/tasks/article/' + str(id)
res = requests.get(url, headers=headers)
html = res.text
selector = etree.HTML(html)
result = selector.xpath('//*[contains(@class,"ppx-main-block")]/p/text()')
result2 = selector.xpath('//*[contains(@class,"col-xs-12")]/h5/span/text()')
print(result)
print(result2)
for i in range(1, 9):
pages_spider(i)
本次代码不像前一篇博文那样只是将爬取代码按照爬取流程的逻辑写了出来。而是将某个页面的爬取流程放入了函数体中。实现爬取流程逻辑的模块化。这样就可以用for循环来循环调用函数获取所有详情页的文章内容及获得每篇文章的阅读数、点赞数和评论数。