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使用metaclass实现Singleton模式的方法
May 05 Python
python中enumerate函数用法实例分析
May 20 Python
浅谈Python数据类型判断及列表脚本操作
Nov 04 Python
python实现微信接口(itchat)详细介绍
Oct 23 Python
通过python爬虫赚钱的方法
Jan 29 Python
Python将列表数据写入文件(txt, csv,excel)
Apr 03 Python
Python 串口读写的实现方法
Jun 12 Python
opencv python如何实现图像二值化
Feb 03 Python
jupyter notebook指定启动目录的方法
Mar 02 Python
基于PyTorch中view的用法说明
Mar 03 Python
Python基于百度AI实现抓取表情包
Jun 27 Python
基于Python实现一个春节倒计时脚本
Jan 22 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
MySql中正则表达式的使用方法描述
2008/07/30 PHP
PHP对象相互引用的内存溢出实例分析
2014/08/28 PHP
php实现字符串首字母转换成大写的方法
2015/03/17 PHP
PHP面向对象之工作单元(实例讲解)
2017/06/26 PHP
js 巧妙去除数组中的重复项
2010/01/25 Javascript
基于jQuery的倒计时插件代码
2011/05/07 Javascript
jQuery UI Autocomplete 1.8.16 中文输入修正代码
2012/04/16 Javascript
JS对HTML标签select的获取、添加、删除操作
2013/10/17 Javascript
引用其它js时如何同时处理多个window.onload事件
2014/09/02 Javascript
jQuery实现获取绑定自定义事件元素的方法
2015/12/02 Javascript
实例详解JavaScript获取链接参数的方法
2016/01/01 Javascript
zepto与jquery的区别及zepto的不同使用8条小结
2016/07/28 Javascript
js点击按钮实现水波纹效果代码(CSS3和Canves)
2016/09/15 Javascript
JavaScript 2018 中即将迎来的新功能
2018/09/21 Javascript
react-navigation之动态修改title的内容
2018/09/26 Javascript
layui layer select 选择被遮挡的解决方法
2019/09/21 Javascript
解决LayUI加上form.render()下拉框和单选以及复选框不出来的问题
2019/09/27 Javascript
webpack的 rquire.context用法实现工程自动化的方法
2020/02/07 Javascript
vue+animation实现翻页动画
2020/06/29 Javascript
[40:05]LGD vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python中逗号的三种作用实例分析
2015/06/08 Python
python提取具有某种特定字符串的行数据方法
2018/12/11 Python
十个Python练手的实战项目,学会这些Python就基本没问题了(推荐)
2019/04/26 Python
python利用itertools生成密码字典并多线程撞库破解rar密码
2019/08/12 Python
python读取图片的几种方式及图像宽和高的存储顺序
2020/02/11 Python
CSS3 :not()选择器实现最后一行li去除某种css样式
2016/10/19 HTML / CSS
阿波罗盒子:Apollo Box
2017/08/14 全球购物
Surfdome西班牙:世界上最受欢迎的生活方式品牌
2019/02/13 全球购物
某公司面试题
2012/03/05 面试题
机械专业毕业生推荐信范文
2013/11/25 职场文书
大二法学专业职业生涯规划范文
2014/02/12 职场文书
外贸业务员求职信
2014/06/16 职场文书
班组长安全工作职责
2014/07/15 职场文书
创卫工作总结2015
2015/04/22 职场文书
文明旅游倡议书
2015/04/28 职场文书
Python 高级库15 个让新手爱不释手(推荐)
2021/05/15 Python