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读取浮点数和读取文本文件示例
May 06 Python
pygame学习笔记(1):矩形、圆型画图实例
Apr 15 Python
python登录pop3邮件服务器接收邮件的方法
Apr 30 Python
详解Python使用simplejson模块解析JSON的方法
Mar 24 Python
python中map()函数的使用方法示例
Sep 29 Python
Python实现的登录验证系统完整案例【基于搭建的MVC框架】
Apr 12 Python
python中数组和矩阵乘法及使用总结(推荐)
May 18 Python
在Python中实现函数重载的示例代码
Dec 12 Python
利用python对mysql表做全局模糊搜索并分页实例
Jul 12 Python
如何用 Python 制作 GitHub 消息助手
Feb 20 Python
十个Python自动化常用操作,即拿即用
May 10 Python
端午节将至,用Python爬取粽子数据并可视化,看看网友喜欢哪种粽子吧!
Jun 11 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
Cygwin中安装PHP方法步骤
2015/07/04 PHP
基于命令行执行带参数的php脚本并取得参数的方法
2016/01/25 PHP
PHP获取路径和目录的方法总结【必看篇】
2017/03/04 PHP
php array 转json及java 转换 json数据格式操作示例
2019/11/13 PHP
jQuery JSON实现无刷新三级联动实例探讨
2013/05/28 Javascript
js弹出窗口之弹出层的小例子
2013/06/17 Javascript
jQuery中 prop() attr()使用详解
2015/05/19 Javascript
JavaScript实现快速排序的方法
2015/07/31 Javascript
jQuery编程中的一些核心方法简介
2015/08/14 Javascript
如何利用JS通过身份证号获取当事人的生日、年龄、性别
2016/01/22 Javascript
JS简单循环遍历json数组的方法
2016/04/22 Javascript
AngularJS页面传参的5种方式
2017/04/01 Javascript
详谈commonjs模块与es6模块的区别
2017/10/18 Javascript
Webpack devServer中的 proxy 实现跨域的解决
2018/06/15 Javascript
Angular resolve基础用法详解
2018/10/03 Javascript
微信小程序实现点赞、取消点赞功能
2018/11/02 Javascript
生产制造追溯系统之再说条码打印
2019/06/03 Javascript
vue cli 3.0通用打包配置代码,不分一二级目录
2020/09/02 Javascript
mustache.js实现首页元件动态渲染的示例代码
2020/12/28 Javascript
Python3基础之输入和输出实例分析
2014/08/18 Python
详解Python的迭代器、生成器以及相关的itertools包
2015/04/02 Python
Python 常用string函数详解
2016/05/30 Python
Python创建二维数组实例(关于list的一个小坑)
2017/11/07 Python
详解python之协程gevent模块
2018/06/14 Python
python判断无向图环是否存在的示例
2019/11/22 Python
Python线程条件变量Condition原理解析
2020/01/20 Python
python GUI库图形界面开发之PyQt5图片显示控件QPixmap详细使用方法与实例
2020/02/27 Python
Pyinstaller打包Scrapy项目的实现步骤
2020/09/22 Python
Django Form常用功能及代码示例
2020/10/13 Python
为2021年的第一场雪锦上添花:用matplotlib绘制雪花和雪景
2021/01/05 Python
css3圆角边框和边框阴影示例
2014/05/05 HTML / CSS
UNDONE手表官网:世界领先的定制手表品牌
2018/11/13 全球购物
婚礼答谢礼品
2015/01/20 职场文书
音乐研修感悟
2015/11/18 职场文书
Spring事务管理下synchronized锁失效问题的解决方法
2022/03/31 Java/Android
微信小程序APP的事件绑定以及传递参数时的冒泡和捕获
2022/04/19 Javascript