page contents

Python爬虫抓取名人名言网站

quotes.toscrape.com/,进入网站首页,观察网页的结构,我们发现网页的内容很清晰,主要分为:名人名言,作者,标签三个主要字段,同时三个字段的内容为本次提取的内容。

attachments-2025-10-Heu9tkRc6902beb051143.png

1、输入网址


quotes.toscrape.com/,进入网站首页,观察网页的结构,我们发现网页的内容很清晰,主要分为:名人名言,作者,标签三个主要字段,同时三个字段的内容为本次提取的内容。


2、确定需求,分析网页结


打开开发者工具,点击networ进行网络数据抓包分析,网站是以get方式进行请求,不需要携带参数,那我们就可以以request请求库中的get()方法,进行模拟请求,需要带上headers请求,模拟浏览器信息验证,防止被网站服务器检测为爬虫请求。

 

也可以点击开发者工具的最左边小箭头,可以帮助我们快速定位,网页数据在element标签页所在的位置。

 

3、解析网页结构,提取数据。


请求成功之后,可以开始提取数据啦~,我用的是xpath的解析方法,所以,先来解析xpath页面,点击最左边小箭头,可以帮助我们快速定位数据所,网页数据在element标签页所在的位置.因为网页的请求方式数据以列表的方式逐条排序,所以我们可以先定位整个列表的数据。在通过lxm中html解析器,逐个字段抓取并保存至列表,方便下一步的数据清洗。

 

4、保存至csv文件


源码分享

import requestsfrom lxml import etreeimport csv
url = "https://quotes.toscrape.com/"headers = {'user-agent''Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36'}

res = requests.get(url,headers = headers).text
html = etree.HTML(res)
queto_list = html.xpath('//div[@class="col-md-8"]')
lists = []
for queto in queto_list:# 名言正文    title = queto.xpath('./div[@class="quote"]/span[1]/text()')# 作者    authuor = queto.xpath('./div[@class="quote"]/span[2]/small/text()')# 名言标签    tags = queto.xpath('./div[@class="quote"]/div[@class="tags"]/a[@class="tag"]/text()')# 将数据统一添加进列表中保存    lists.append(title)    lists.append(authuor)    lists.append(tags)

with open("./名人名言.csv",'w',encoding='utf-8',newline='\n'as f:
            writer = csv.writer(f)for i in lists:                writer.writerow(x)


以上就是Python爬虫抓取名人名言网站的方法,希望对大家有所帮助。

更多相关技术内容咨询欢迎前往并持续关注好学星城论坛了解详情。

想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。

attachments-2022-05-rLS4AIF8628ee5f3b7e12.jpg

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
Pack
Pack

1475 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 2228 文章
  3. Pack 1475 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章