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 + openpyxl处理excel2007文档思路以及心得
Jul 14 Python
Python中functools模块的常用函数解析
Jun 30 Python
Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)
May 08 Python
python opencv旋转图像(保持图像不被裁减)
Jul 26 Python
浅谈Python的条件判断语句if/else语句
Mar 21 Python
python-tkinter之按钮的使用,开关方法
Jun 11 Python
django使用django-apscheduler 实现定时任务的例子
Jul 20 Python
Python实现鼠标自动在屏幕上随机移动功能
Mar 14 Python
Python爬虫实现百度翻译功能过程详解
May 29 Python
Python图片处理之图片裁剪教程
May 27 Python
pycharm代码删除恢复的方法
Jun 26 Python
Python学习之迭代器详解
Apr 01 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正则校验用户名介绍
2008/07/19 PHP
php 修改、增加xml结点属性的实现代码
2013/10/22 PHP
PHP 字符串长度判断效率更高的方法
2014/03/02 PHP
php基于websocket搭建简易聊天室实践
2016/10/24 PHP
PHP实现基于状态的责任链审批模式详解
2019/05/31 PHP
php输出控制函数和输出函数生成静态页面
2019/06/27 PHP
通用javascript脚本函数库 方便开发
2009/10/13 Javascript
理解Javascript闭包
2013/11/01 Javascript
JS判断两个时间大小的示例代码
2014/01/28 Javascript
多种方法实现load加载完成后把图片一次性显示出来
2014/02/19 Javascript
jquery库或JS文件在eclipse下报错问题解决方法
2014/04/17 Javascript
js动态切换图片的方法
2015/01/20 Javascript
基于jQuery Ajax实现上传文件
2016/03/24 Javascript
canvas学习之API整理笔记(二)
2016/12/29 Javascript
前端自动化开发之Node.js的环境搭建教程
2017/04/01 Javascript
Vue2.0实现组件之间数据交互和通信操作示例
2019/05/16 Javascript
[02:51]DOTA2战队出征照拍摄花絮 TI3明星化身时尚男模
2013/07/22 DOTA
[02:49:21]2019完美盛典全程录像
2019/12/08 DOTA
Python求两个文本文件以行为单位的交集、并集与差集的方法
2015/06/17 Python
实例讲解Python中函数的调用与定义
2016/03/14 Python
python自动翻译实现方法
2016/05/28 Python
Python中的字符串替换操作示例
2016/06/27 Python
Python下载网络小说实例代码
2018/02/03 Python
python 对类的成员函数开启线程的方法
2019/01/22 Python
解决Python中pandas读取*.csv文件出现编码问题
2019/07/12 Python
django settings.py 配置文件及介绍
2019/07/15 Python
详解Python Matplotlib解决绘图X轴值不按数组排序问题
2019/08/05 Python
详解如何在cmd命令窗口中搭建简单的python开发环境
2019/08/29 Python
用60行代码实现Python自动抢微信红包
2021/02/04 Python
CSS3 @media的基本用法总结
2019/09/10 HTML / CSS
Tessabit日本:集世界奢侈品和设计师品牌的意大利精品买手店
2020/01/07 全球购物
教师求职自荐书
2014/06/14 职场文书
班干部学习委员竞选稿
2015/11/20 职场文书
如何书写民事调解协议书?
2019/06/25 职场文书
pytorch 6 batch_train 批训练操作
2021/05/28 Python
教你怎么用Python操作MySql数据库
2021/05/31 Python