本篇文章将介绍使用requests和parsel来爬取网页数据,并将爬取的数据写入一个csv文件中.
1、导入requests和parsel库
import requests
from parsel import Selector
2、发送请求获取页面内容
# 目标url
url = 'https://example.com/top250'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'
}
# 使用requests模块的get方法,向URL发送一个GET请求,获取响应对象
response = requests.get(url=url, headers=headers)
3、解析页面内容
selector = Selector(response.text)
4、提取需要的信息
# 提取书名
book_names = selector.css('.pl2 a::text').extract()
# 提取评分
scores = selector.css('.star span::text').extract()
# 提取评价人数
comments = selector.css('.star span:last-child::text').extract()
# 提取其他信息
infos = selector.css('.pl2 p::text').extract()
5、将提取的信息存储到字典中
books = []
for i in range(len(book_names)):
book = {}
book['book_name'] = book_names[i]
book['score'] = scores[i]
book['comment'] = comments[i]
book['info'] = infos[i]
books.append(book)
6、将获取的数据写入一个csv文件中
# 获取字典的键,作为表头
keys = books [0].keys()
# # 打开文件,设置编码
with open('example.csv', 'w', newline='', encoding='utf-8-sig') as output_file:
# 创建一个字典写入对象,传入文件对象和表头
dict_writer = csv.DictWriter(output_file, keys)
dict_writer.writeheader() # 写入表头
dict_writer.writerows(books ) # 写入所有的图书数据
以上就是“Python教程:python爬取页面数据”的详细内容,想要了解更多IT圈内资讯欢迎持续关注编程学习网。
扫码二维码 获取免费视频学习资料
- 本文固定链接: http://phpxs.com/post/11732/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料
查 看2022高级编程视频教程免费获取