python爬取百度百科搜索结果_用Python抓取百度搜索结果,python,爬取,的

前言

前几天爬的今天整理了一下发现就两个需要注意的点

一是记得用带cookie的方式去访问,也就是实例化requests.session()

二是转化一下爬取到的url,访问爬到的url得到返回的Location值,该值便是真实的地址(如果你不是要爬url当我没说)

知道了这两点可以直接先去尝试一下,并没有想象的那么难,爬不出来再看代码

正文

不带cookie访问,直接用requests.get()访问,可以看到只能成功访问一次。其他的虽然状态码是200但应该是触发了反爬机制返回了其他页面给你

174c161faa47d33208b705d7bbcdaa45.png

带cookie访问,基本上都成功了

1f332173df89e42e4ee96bf8c00b752f.png

转化一下得到的url,得到最终的url

2f5ab69be4ba2029709270d66c5b9b83.png

最终代码

import requests

from bs4 import BeautifulSoup

import time

#将百度的url转成真实的url

def convert_url(url):

resp = requests.get(url=url,

headers=headers,

allow_redirects=False

)

return resp.headers['Location']

#获取url

def get_url(wd):

s = requests.session()

#10为第2页,20为第三页,30为第四页,以此类推

for i in range(10, 600, 10):

url = 'https://www.baidu.com/s'

params = {

"wd": wd,

"pn": i,

}

r = s.get(url=url, headers=headers, params=params)

print(r.status_code)

soup = BeautifulSoup(r.text, 'lxml')

for so in soup.select('#content_left .t a'):

g_url = so.get('href')

print(convert_url(g_url))

time.sleep(1 + (i / 10))

if __name__ == '__main__':

headers = {

"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:73.0) Gecko/20100101 Firefox/73.0",

"Host": "www.baidu.com",

}

wd = input("输入搜索关键字:")

get_url(wd)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/504881.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

spring aop设计模式_Spring框架中设计模式的运用

设计模式大家可能随口就能说出总共有23种,但是具体怎么用,或者在常用的组建中有哪些体现,这时候不一定说的上来了。接下来几篇文章,我们一起深入理解。首先我们一起了解下常用的组建中是怎么运用的,比如 JDK、Sring、M…

使用yum命令安装mysql_Linux Centos 下使用yum 命令安装mysql实现步骤

linux centos 下使用yum 命令安装mysql实现步骤1. 查看服务器中有没有安装过mysql1. 查看有没有安装包:yum list mysql*#移除已经安装的mysqlyum remove mysql mysql-server mysql-libs compat-mysql51rm -rf /var/lib/mysqlrm /etc/my.cnf2. 查看是否还有mysql软件:rpm -qa|gr…

sql unicode转中文_SELECT语句《SQL必知必会》

数据库中有哪些数据类型?数据库中最常用对数据类型有三种:Text(文本)、Number(数字)和 Date/Time。文本类型:即字符串,如“nameasdas”数字类型:十进制数字,如…

mpython 直接访问_如何从python代码中直接访问Android的Service

在Kivy中,通过pyjnius扩展可以间接调用Java代码,而pyjnius利用的是Java的反射机制。但是在Python对象和Java对象中转来转去总让人感觉到十分别扭。好在android提供了binder这个进程间通信的功能,Java中的Service也是基于Binder的C代码封装来实…

python中attr_python中hasattr()、getattr()、setattr()函数的使用

引言:在阅读高手写的代码时,有很多简写的形式,如果没有见过还真的看不太懂是什么意思,其中一个比较常用的就是getattr()用来调用一个类中的变量或者方法,相关联的hasattr()、getattr()、setattr()函数的使用也一并学习…

python前n项和存为一个数组_在Python中存储多个数组

我正在编写一个程序来模拟像Gallup或Rasmussen这样的公司每天发布的实际投票数据:www.gallup.com和www.rassmussenreports.com我正在使用强力方法,计算机生成一些随机的每日轮询数据,然后计算三天平均值,以查看随机数据的平均值是否与民意测验数字相匹配. (大多数公…

织梦数据库改mysql前缀_织梦快速批量修改MYSQL数据库表前缀与表名实例操作

这篇文章主要为大家详细介绍了织梦快速批量修改MYSQL数据库表前缀与表名实例操作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴。我们在安装织梦系统的时候,有一次批量修改mysql数据库表前缀的机会&am…

python实时绘图暂停_Python实时绘图

我在两个数组中获取了一些数据:一个用于时间,一个用于值.当我达到1000点时,我触发一个信号并绘制这些点(x 时间,y 值).我需要在前面的图中保持相同的数字,但只是一个合理的数字,以避免减慢过程.例如,我想在我的图表上保留10,000点.matplotlib交互式绘图工作正常,但我…

python 读文件写数据库_python读文件写数据库

Python 读文件,写数据库Python 读文件打开文件Python读写文件在计算机语言中被广泛的应用,如果你想了解其应用的程序,以下的文章会给你详细的介绍相关内容,会你在以后的学习的过程中有所帮助,下面我们就详细介绍其应用…

python怎么用gamma函数_如何通俗的理解伽马(gamma)函数

如何通俗的理解伽马(gamma)函数 - 直觉,求导和示例我为什么要在乎garmma分布?使用伽马函数定义了许多概率分布,例如伽马分布,Beta分布,狄利克雷分布,卡方分布和学生t分布等。 对于数据科学家,机…

mysql支持表情输入_让MySQL支持Emoji表情 mysql 5.6

在做微信公众号开发过程中,经常碰到用户的昵称中有表情,在MySQL保存时常用的utf8 字符集根本无法存储表情,提示错误如下:java.sql.SQLException: Incorrect string value: \xF0\x9F\x92\x94 for column nick_name at row 1at com.…

graphpad如何检测方差齐_如何选择方差分析的多重比较方法?资料集锦

欢迎订阅SPSS训练营号方差分析时,如果因素主效应有显著影响,则需要对因素水平进行两两比较,以确认因素水平间的具体差异。这个过程也叫作多重比较。SPSS提供14种用于方差齐次的多重比较方法,还有4种方差不齐情况下的多重比较方法&…

编程真好玩python_(两本套)编程真好玩+教孩子学编程(Python语言版)

第1 章 Python 基础:认识环境 1 11 认识Python 3 12 用Python 编写程序 5 13 运行Python 程序 5 14 本章小结 6 15 编程挑战 7 第2 章 海龟作图:用Python 绘图 9 21 **个海龟程序 10 211 程序是如何工作的 10 212 发生了什么 12 22 旋转的海龟 13 23 海龟…

反转链表 python 递归_LeetCode 206.反转链表(Python3)

题目:反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?解答:方法一:原地反转。# Definition for singly-…

java image 透明_java的BufferedImage对象透明化背景

近用到Java动态生成背景透明的图片功能,从gif和png中选择了png格式,个中缘由就不说了,于是动手到网上搜索有用的代码。现把搜索结果总结如下:1. 生成png图片int width 400;int height 300;// 创建BufferedImage对象BufferedImag…

【MySQL学习笔记009】事务

一、事务简介 事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。 二、事务操作 1、操作1 查看/设置事务提交方式 select a…

python的pypi安装_python pip及安装包安装

python 微信聊天D:\untitled\hello.py 入口 web禁止登陆。。安装命令:手动安装:D:\python\setuptools-41.2.0>python setup.py install下载下来手动安装pipD:\python\pip-1.4.1\pip-1.4.1>python setup.py installD:\python\setuptools-41.2.0>…

python 爬取生意参谋数据_如何爬取生意参谋数据?是不是违规操作?

1、在淘宝选项卡中,打开【生意参谋】工具。2、在【生意参谋数据拷贝】中,点击【打开生意参谋】按钮。3、在调用的IE浏览器中输入账号和密码。4、登陆好后,找到竞品,并点击【查看详情】。5、进入到竞品详情后,注意修改日…

c mysql 视图_MySQL入门教程(七)之视图

相关阅读:视图是从一个或多个表中导出来的虚拟表。视图就像一个窗口,通过这个窗口可以看到系统专门提供的数据。1、视图简介1.1 视图的含义视图是从一个或多个表中导出来的虚拟表,还可以从已经存在的视图的基础上定义。数据库中只存放视图的定…

tensorflow gpu安装_tensorflow-gpu安装配置

1 介绍目前,主流版本是tensorflow-gpu 1.12.0,线上安装这个版本,和这个版本搭配的cuda是9.0版本,cudnn版本是7.0.5。2 cuda和cudnn安装cuda驱动地址:cuda_9.0.176_384.81_linux.runcudnn库地址: cudnn-9.0-linux-x64-v…