Python用requests库爬取返回为空的解决办法


Posted in Python onFebruary 21, 2021

首先介?一下我??用360搜索派取城市排名前20。
我们爬取的网址:https://baike.so.com/doc/24368318-25185095.html

我们要爬取的内容:

Python用requests库爬取返回为空的解决办法

html字段:

Python用requests库爬取返回为空的解决办法

robots协议:

Python用requests库爬取返回为空的解决办法

现在我们开始用python IDLE 爬取

Python用requests库爬取返回为空的解决办法

import requests
r = requests.get("https://baike.so.com/doc/24368318-25185095.html")
r.status_code
r.text

结果分析,我们可以成功访问到该网页,但是得不到网页的结果。被360搜索识别,我们将headers修改。

Python用requests库爬取返回为空的解决办法

输出有个小插曲,网页内容很多,我是想将前500个字符输出,第一次格式错了

import requests
headers = {
  'Cookie':'OCSSID=4df0bjva6j7ejussu8al3eqo03',
  'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
         '(KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36',
}
r = requests.get("https://baike.so.com/doc/24368318-25185095.html", headers = headers)
r.status_code
r.text

接着我们对需要的内容进行爬取,用(.find)方法找到我们内容位置,用(.children)下行遍历的方法对内容进行爬取,用(isinstance)方法对内容进行筛选:

import requests
from bs4 import BeautifulSoup
import bs4
headers = {
  'Cookie':'OCSSID=4df0bjva6j7ejussu8al3eqo03',
  'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
         '(KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36',
}
r = requests.get("https://baike.so.com/doc/24368318-25185095.html", headers = headers)
r.status_code
r.encoding = r.apparent_encoding
soup = BeautifulSoup(r.text, "html.parser")
for tr in soup.find('tbody').children:
	if isinstance(tr, bs4.element.Tag):
		tds = tr('td')
		print([tds[0].string, tds[1].string, tds[2].string])

得到结果如下:

Python用requests库爬取返回为空的解决办法

修改输出的数目,我们用Clist列表来存取所有城市的排名,将前20个输出代码如下:

import requests
from bs4 import BeautifulSoup
import bs4
Clist = list() #存所有城市的列表
headers = {
  'Cookie':'OCSSID=4df0bjva6j7ejussu8al3eqo03',
  'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
         '(KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36',
}
r = requests.get("https://baike.so.com/doc/24368318-25185095.html", headers = headers)
r.encoding = r.apparent_encoding #将html的编码解码为utf-8格式
soup = BeautifulSoup(r.text, "html.parser") #重新排版
for tr in soup.find('tbody').children:   #将tbody标签的子列全部读取
	if isinstance(tr, bs4.element.Tag):  #筛选tb列表,将有内容的筛选出啦
	  tds = tr('td')
	  Clist.append([tds[0].string, tds[1].string, tds[2].string])
for i in range(21):
  print(Clist[i])

最终结果:

Python用requests库爬取返回为空的解决办法

到此这篇关于Python用requests库爬取返回为空的解决办法的文章就介绍到这了,更多相关Python requests返回为空内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python常用正则表达式符号浅析
Aug 13 Python
Python中实现参数类型检查的简单方法
Apr 21 Python
python 循环while和for in简单实例
Aug 16 Python
Python 'takes exactly 1 argument (2 given)' Python error
Dec 13 Python
Python中使用多进程来实现并行处理的方法小结
Aug 09 Python
Python 绘图库 Matplotlib 入门教程
Apr 19 Python
Ubuntu下使用python读取doc和docx文档的内容方法
May 08 Python
解决pycharm安装后代码区不能编辑的问题
Oct 28 Python
python实现从pdf文件中提取文本,并自动翻译的方法
Nov 28 Python
Python函数中参数是传递值还是引用详解
Jul 02 Python
Python 的字典(Dict)是如何存储的
Jul 05 Python
Django配置跨域并开发测试接口
Nov 04 Python
python利用proxybroker构建爬虫免费IP代理池的实现
Feb 21 #Python
python实现图片转字符画的完整代码
Feb 21 #Python
利用Python实现最小二乘法与梯度下降算法
Feb 21 #Python
Scrapy实现模拟登录的示例代码
Feb 21 #Python
scrapy-splash简单使用详解
Feb 21 #Python
详解使用scrapy进行模拟登陆三种方式
Feb 21 #Python
利用Python如何画一颗心、小人发射爱心
Feb 21 #Python
You might like
PHP_Cooikes不同页面无法传递的解决方法
2014/03/07 PHP
php中函数前加&符号的作用分解
2014/07/08 PHP
PHP魔术方法__GET、__SET使用实例
2014/11/25 PHP
Codeigniter的dom类用法实例
2015/06/26 PHP
document.documentElement的一些使用技巧
2013/04/18 Javascript
ajax+jQuery实现级联显示地址的方法
2015/05/06 Javascript
js实现点击向下展开的下拉菜单效果代码
2015/09/01 Javascript
jQuery插件cxSelect多级联动下拉菜单实例解析
2016/06/24 Javascript
利用Angularjs和bootstrap实现购物车功能
2016/08/31 Javascript
JS实现用户注册时获取短信验证码和倒计时功能
2016/10/27 Javascript
实例学习JavaScript读取和写入cookie
2018/01/29 Javascript
vue2实现搜索结果中的搜索关键字高亮的代码
2018/08/29 Javascript
如何写好一个vue组件,老夫的一年经验全在这了(推荐)
2019/05/18 Javascript
Javascript 模拟mvc实现点餐程序案例详解
2020/12/24 Javascript
python getopt 参数处理小示例
2009/06/09 Python
Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法
2015/05/16 Python
python在每个字符后添加空格的实例
2018/05/07 Python
Python requests发送post请求的一些疑点
2018/05/20 Python
python数据结构之线性表的顺序存储结构
2018/09/28 Python
Python如何发布程序的详细教程
2018/10/09 Python
深入了解Python枚举类型的相关知识
2019/07/09 Python
使用pyecharts生成Echarts网页的实例
2019/08/12 Python
Python版中国省市经纬度
2020/02/11 Python
CSS3制作炫酷的自定义发光文字
2016/03/28 HTML / CSS
ProBikeKit德国:在线公路自行车专家
2018/06/03 全球购物
构造方法和其他方法的区别
2016/04/26 面试题
车辆安全检查制度
2014/01/12 职场文书
基层工作经历证明
2014/01/13 职场文书
廉洁家庭事迹材料
2014/05/15 职场文书
学雷锋标兵事迹材料
2014/08/18 职场文书
暑假社会实践心得体会
2014/09/02 职场文书
党的群众路线对照检查材料范文
2014/09/24 职场文书
感谢信的格式
2015/01/21 职场文书
居委会工作总结2015
2015/05/18 职场文书
导游词之无锡丝业博物馆
2019/11/12 职场文书
python办公自动化之excel的操作
2021/05/23 Python