位置: 编程技术 - 正文
推荐整理分享教你用python3根据关键词爬取百度百科的内容(python3.8.3怎么用),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:python3怎么用,python3.7怎么用,python3怎么用,python 3.9怎么用,python:3,python 3.9怎么用,python 3.9怎么用,python3怎么用,内容如对您有帮助,希望把文章链接给更多的朋友!
前言
关于python版本,我一开始看很多资料说python2比较好,因为很多库还不支持3,但是使用到现在为止觉得还是pythin3比较好用,因为编码什么的问题,觉得2还是没有3方便。而且在网上找到的2中的一些资料稍微改一下也还是可以用。
好了,开始说爬百度百科的事。
这里设定的需求是爬取北京地区n个景点的全部信息,n个景点的名称是在文件中给出的。没有用到api,只是单纯的爬网页信息。
1、根据关键字获取url
由于只需要爬取信息,而且不涉及交互,可以使用简单的方法而不需要模拟浏览器。
可以直接
这里要注意关键词是中午所以要注意编码问题,由于url中不能出现空格,所以需要用quote函数处理一下。
关于quote():
在 Python2.x 中的用法是:urllib.quote(text) 。Python3.x 中是urllib.parse.quote(text) 。按照标准,URL只允许一部分ASCII 字符(数字字母和部分符号),其他的字符(如汉字)是不符合URL标准的。所以URL中使用其他字符就需要进行URL编码。URL中传参数的部分(query String),格式是:name1=value1&name2=value2&name3=value3。假如你的name或者value值中的『&』或者『=』等符号,就当然会有问题。所以URL中的参数字符串也需要把『&=』等符号进行编码。URL编码的方式是把需要编码的字符转化为%xx的形式。通常URL编码是基于UTF-8的(当然这和浏览器平台有关)
例子:
比如『我,unicode 为 0x,UTF-8编码为0xExx,URL编码就是 %E6%%。
Python的urllib库中提供了quote和quote_plus两种方法。这两种方法的编码范围不同。不过不用深究,这里用quote就够了。
2、下载url
用urllib库轻松实现,见下面的代码中def download(self,url)
3、利用Beautifulsoup获取html
4、数据分析
百科中的内容是并列的段,所以在爬的时候不能自然的按段逻辑存储(因为全都是并列的)。所以必须用正则的方法。
基本的想法就是把整个html文件看做是str,然后用正则的方法截取想要的内容,在重新把这段内容转换成beautifulsoup对象,然后在进一步处理。
可能要花些时间看一下正则。
代码中还有很多细节,忘了再查吧只能,下次绝对应该边做编写文档,或者做完马上写。。。
贴代码!
总结
用python3根据关键词爬取百度百科的内容到这就基本结束了,希望这篇文章能对大家学习python有所帮助。
Python用模块pytz来转换时区 前言最近遇到了一个问题:我的server和client不是在一个时区,server时区是EDT,即美国东部时区,client,就是我自己的电脑,时区是中国标准时区,东八
利用Python开发微信支付的注意事项 前言微信支付是由微信及财付通联合推出的移动支付创新产品。如今,随着微信支付的全面开放,相关需求也越来越多,很多开发人员进行微信支付开
详解Python实现按任意键继续/退出的功能 前言要实现该功能,需要的就是暂停程序、等待并捕捉用户的一个键盘输入,然后继续执行。Python有内建的库能帮我们实现该功能,不过要区别对待Windo
标签: python3.8.3怎么用
本文链接地址:https://www.jiuchutong.com/biancheng/386185.html 转载请保留说明!上一篇:利用Python爬取可用的代理IP(python能爬取app吗)
下一篇:Python用模块pytz来转换时区(python编写一个模块)
友情链接: 武汉网站建设