- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
requests库技术应用案例——动态数据和动态数据采集;本章学习目标
分析业务网站A,B,C和D的网页结构和内容
使用requests库编写爬虫代码获取指定的静态和动态数据
使用BeautifulSoup实现数据的解析
使用pymysql库和pandas实现数据的持久化;4.3业务网站A静态数据;判断此数据是静态数据还是动态数据。如图4.3-2所示,由此可知,我们想要获取的内容被标签直接包含在内,为静态数据,所以可以编写爬虫获取网页标签内容即可;使用python编写爬虫获取网页静态数据,有针对性地获得在网页中的笔记本电脑型号、价格、配置、评价分数。具体步骤如下。
在python中导入requests库和bs4库中的BeautifulSoup,并且定义一个空列表new_list,用于存储爬取下来的静态数据,并自定义第一个列表,这个列表将作为对应数据的字段名和后续数据的存储。
importrequests
frombs4importBeautifulSoup
new_list=[[电脑型号,价格,配置,评分]]
;构造爬虫代码请求该URL的Headers头部信息。在“开发者工具”的Network栏目下的Headers中得到该默认URL的Headers头部信息。其目的是为了向业务网站A网址的后台服务器隐藏爬虫代码的真实身份,让爬虫代码带着这些请求信息伪装成浏览器正常访问该网站服务器的状态而不被服务器的反爬措施发现。
headers={
User-Agent:Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/74.0.3729.108Safari/537.36
};3)定义变量complete_url用于指定的URL网址
complete_url=detail.zol.cn/notebook_index/subcate16_0_list_1_0_99_2_0_1.html
4)使用requests库的get()方法获得网址的Response对象,并设置headers参数,并定义变量req进行保存。
req=requests.get(url=complete_url,headers=headers)
5)使用encoding方法,设置req变量的编码方式。
req.encoding=GBK
6)使用BeautifulSoup库解析HTML文档的代码。req.txt是一个包含HTML内容的字符串,features定义了解析器为’html.parser’,用于将HTML转换为Python对象,定义变量soup进行保存。
soup=BeautifulSoup(req.text,features=html.parser);7)定位数据;8)获取数据;第二步:声明及定义4个空列表,用于分别保存笔记本电脑型号、价格、配置、评价分数的数据。使用for循环方式将select()方法获得的数据遍历提取,并使用append()方法追加到4个空列表中,同时使用zip()方法将数组中的数据整合在一起,完成静态数据爬取。;运行测试,由以上代码可知,列表a,b,c,d中的数据被整合在new_list中保存的就是我们从网页爬取的静态数据,我们打印出来观察是否正确;1)导入Pandas库
importpandasaspd
2)把列表new_list转换为pandas的数据结构DataFrame类型,由dataframe保存。
dataframe=pd.DataFrame(new_list)
3)最后将dataframe保存到excel文件中(正确路径下的真实文件)
dataframe.to_excel(D:\Requests\zcg.xlsx)
文档评论(0)