温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python爬虫中如何抓取名人名言网站

发布时间:2021-09-07 13:43:04 来源:亿速云 阅读:155 作者:小新 栏目:编程语言

这篇文章主要介绍Python爬虫中如何抓取名人名言网站,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

1、输入网址

quotes.toscrape.com/,进入网站首页,观察网页的结构,我们发现网页的内容很清晰,

主要分为:名人名言,作者,标签三个主要字段,同时三个字段的内容为本次提取的内容。

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

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

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

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

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

4、保存至csv文件

源码分享

import requests
from lxml import etree
import 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爬虫中如何抓取名人名言网站”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI