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实现简单socket程序在两台电脑之间传输消息的方法
Mar 13 Python
Python中的localtime()方法使用详解
May 22 Python
在Python中使用gRPC的方法示例
Aug 08 Python
opencv python统计及绘制直方图的方法
Jan 21 Python
浅析pandas 数据结构中的DataFrame
Oct 12 Python
python下载库的步骤方法
Oct 12 Python
pandas中ix的使用详细讲解
Mar 09 Python
Python操作Excel工作簿的示例代码(\*.xlsx)
Mar 23 Python
Python数据相关系数矩阵和热力图轻松实现教程
Jun 16 Python
Python Opencv图像处理基本操作代码详解
Aug 31 Python
python如何调用百度识图api
Sep 29 Python
Python就将所有的英文单词首字母变成大写
Feb 12 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
层叠菜单的动态生成
2006/10/09 PHP
PHP中模拟处理HTTP PUT请求的例子
2014/07/22 PHP
php获取twitter最新消息的方法
2015/04/14 PHP
PHP基于XMLWriter操作xml的方法分析
2017/07/17 PHP
AutoSave/自动存储功能实现
2007/03/24 Javascript
JSON 客户端和服务器端的格式转换
2009/08/27 Javascript
jquery 打开窗口返回值实现代码
2010/03/04 Javascript
js新闻滚动 js如何实现新闻滚动效果
2013/01/07 Javascript
JS localStorage实现本地缓存的方法
2013/06/22 Javascript
浅谈Unicode与JavaScript的发展史
2015/01/19 Javascript
jQuery仅用3行代码实现的显示与隐藏功能完整实例
2015/10/08 Javascript
基于JQuery实现图片轮播效果(焦点图)
2016/02/02 Javascript
JS中多种方式创建对象详解
2016/03/22 Javascript
所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解
2016/05/27 Javascript
详解Vue学习笔记入门篇之组件的内容分发(slot)
2017/07/17 Javascript
详解小程序input框失焦事件在提交事件前的处理
2019/05/05 Javascript
ES6 async、await的基本使用方法示例
2020/06/06 Javascript
详解ES6实现类的私有变量的几种写法
2021/02/10 Javascript
python面向对象_详谈类的继承与方法的重载
2017/06/07 Python
Python实现爬虫设置代理IP和伪装成浏览器的方法分享
2018/05/07 Python
关于Django ForeignKey 反向查询中filter和_set的效率对比详解
2018/12/15 Python
使用pycharm在本地开发并实时同步到服务器
2019/08/02 Python
python 实现return返回多个值
2019/11/19 Python
解决在keras中使用model.save()函数保存模型失败的问题
2020/05/21 Python
python读取图片颜色值并生成excel像素画的方法实例
2021/02/19 Python
美国在线肉类和海鲜配送:Crowd Cow
2020/10/02 全球购物
女方回门宴答谢词
2014/01/14 职场文书
诚信承诺书范文
2014/03/27 职场文书
计划生育证明格式及范本
2014/10/09 职场文书
读书笔记怎么写
2015/07/01 职场文书
基督教追悼会答谢词
2015/09/29 职场文书
2017新年晚会开幕词
2016/03/03 职场文书
教你用Python+selenium搭建自动化测试环境
2021/06/18 Python
Python实现生活常识解答机器人
2021/06/28 Python
Python+OpenCV实现在图像上绘制矩形
2022/03/21 Python
MySQL数据库查询之多表查询总结
2022/08/05 MySQL