python模拟浏览器爬取数据
爬虫新手大坑:爬取数据的时候一定要设置header伪装成浏览器!!!!
在爬取某财经网站数据时由于没有设置Header信息,直接被封掉了ip
后来设置了Accept、Connection、User-Agent三个参数后换了个ip登录,成功请求到几次数据后又被封掉ip
最后老老实实把所有header信息都加上后请求(其实还少了一个cookie),现在请求了几十次还没被封 (ಥ﹏ಥ)
代码如下
#coding=utf-8
import requests
from bs4 import BeautifulSoup headers = {'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Accept-Encoding':'gzip,deflate,sdch',
'Accept-Language':'en,zh-CN;q=0.8,zh;q=0.6',
'Cache-Control':'max-age=0',
'Host':'www.xxx.com', #此处为财经网的主页
'Connection':'keep-alive',
'Upgrade-Insecure-Requests':'',
'Content-Type':'application/x-www-form-urlencoded',
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36'
}
response = requests.get("http://www.xxxxxx.com", headers=headers) #请求的地址
soup = BeautifulSoup(response.content, 'html.parser') #返回的html信息用soup解析
print(response.status_code) #请求状态码
print(soup.prettify()) #以格式输出html
有不懂的地方或者想要探讨问题可以qq联系:1163949417
python模拟浏览器爬取数据的更多相关文章
- Python Requests库入门——应用实例-京东商品页面爬取+模拟浏览器爬取信息
京东商品页面爬取 选择了一款荣耀手机的页面(给华为打广告了,荣耀play真心不错) import requests url = "https://item.jd.com/7479912.ht ...
- Selenium+Chrome/phantomJS模拟浏览器爬取淘宝商品信息
#使用selenium+Carome/phantomJS模拟浏览器爬取淘宝商品信息 # 思路: # 第一步:利用selenium驱动浏览器,搜索商品信息,得到商品列表 # 第二步:分析商品页数,驱动浏 ...
- Python爬虫之selenium爬虫,模拟浏览器爬取天猫信息
由于工作需要,需要提取到天猫400个指定商品页面中指定的信息,于是有了这个爬虫.这是一个使用 selenium 爬取天猫商品信息的爬虫,虽然功能单一,但是也算是 selenium 爬虫的基本用法了. ...
- scrapy模拟浏览器爬取验证码页面
使用selenium模块爬取验证码页面,selenium模块需要另外安装这里不讲环境的配置,我有一篇博客有专门讲ubuntn下安装和配置模拟浏览器的开发 spider的代码 # -*- coding: ...
- python之scrapy爬取数据保存到mysql数据库
1.创建工程 scrapy startproject tencent 2.创建项目 scrapy genspider mahuateng 3.既然保存到数据库,自然要安装pymsql pip inst ...
- sumafan:python爬虫多线程爬取数据小练习(附答案)
抓取 https://www.cnbeta.com/ 首页中新闻内容页网址, 抓取内容例子: https://hot.cnbeta.com/articles/game/825125 将抓取下来的内容页 ...
- Python+Scrapy+Crawlspider 爬取数据且存入MySQL数据库
1.Scrapy使用流程 1-1.使用Terminal终端创建工程,输入指令:scrapy startproject ProName 1-2.进入工程目录:cd ProName 1-3.创建爬虫文件( ...
- 利用chrome浏览器爬取数据
相关的库自己下载吧,直接上代码 from selenium import webdriver from bs4 import BeautifulSoup import time #手动添加路径 pat ...
- 关于爬虫的日常复习(10)—— 实战:使用selenium模拟浏览器爬取淘宝美食
随机推荐
- 【转】Linux - CentOS 7网络配置
Linux - CentOS 7网络配置 https://blog.csdn.net/J080624/article/details/78083988 安装完VM后,需要进行网络配置.第一个目标为 ...
- JUC——线程同步锁(ReentrantReadWriteLock读写锁)
读写锁简介 所谓的读写锁值得是两把锁,在进行数据写入的时候有一个把“写锁”,而在进行数据读取的时候有一把“读锁”. 写锁会实现线程安全同步处理操作,而读锁可以被多个对象读取获取. 读写锁:ReadWr ...
- csb反编译为csd,并自动进行资源的删除
好多人都想将csb进行反编译为csd,然后进行资源的清理 目前自己的项目也遇到了类似的问题,所以进行了整理 还有很多不完善的地方,后续会一步步加深 请大家多多指教 下载链接:https://pan.b ...
- 人工智能AI芯片与Maker创意接轨 (中)
在人工智能AI芯片与Maker创意接轨(上)这篇文章中,介绍人工智能与深度学习,以及深度学习技术的应用,了解内部真实的作业原理,让我们能够跟上这波AI新浪潮.系列文来到了中篇,将详细介绍目前市面上的各 ...
- Python浮点算术:争议和限制
浮点数在计算机硬件中表示为以 2 为基数(二进制)的小数.举例而言,十进制的小数 0.125 等于 1/10 + 2/100 + 5/1000 ,同理,二进制的小数 0.001 等于0/2 + 0/4 ...
- ios有些机型input和fixed导致的页面错位问题
_fixIosInputH () { let [timeout, beforeTop] = [null, 0] $('input, textarea').on('focus', () => { ...
- 《图解 HTTP 》阅读 —— 第一章
第1章 了解web及网络基础 计算机与网络设备相互通信的规则称为协议,比如:如何探测到通信目标.由哪一边发起通信.使用那种语言进行通信.怎么结束通信等. TCP/IP 协议族按照层次分为以下四层:应用 ...
- 从Web抓取信息的几个常用方法
1.Response 对象有一个 status_code 属性,可以检查它是否等于requests.codes.ok. 2.raise_for_status()方法是一种很好的方式,确保程序在下载失败 ...
- redis使用Jackson2JsonRedisSerializer序列化问题
一.spring boot 集成Redis方法 依赖 <!--redis--> <dependency> <groupId>org.springframework. ...
- ualias命令详解
基础命令学习目录首页 原文链接:https://blog.csdn.net/yexiangcsdn/article/details/82782667 个人分类: Linux Command 所属专栏: ...