到百度云加速,网页内容爬不到的快速解决

时间: 2019-02-01阅读: 170标签: 爬虫

在爬网站时,发现网站做了百度云加速,每次访问首页时要求输入验证码,才能打开网站首页。没采用网上自动解析验证码图片的方案,快过年了,不想PIP,快速解决快速回家

经过分析网站,发现如果你拿到一个当期可用的Cooikes后,你就可以一直爬数据,且并不会触发百度验证输入

代码如下(注意:代码中的网址、Cookies都是假的,如果想用代码,把你自己的网址和Cookies替换上

import request 
from datetime import datetime, timedelta
from scrapy.selector import Selector

s=requests.session()
headers = {
            'cookie': '__cfduid=134343474e8d3f723cae541fb7d7f6b01f1546501720; _ga=GA1.2.573376275.1546501778; _gid=GA1.2.543022193.1549014020; cf_clearance=b19851c48ae560c62485879ac37a257a3f12df1e-1549086155-1800-250; ',
            'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/536.34 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.34',
}

url = 'https://www.samle.com/news/page/2/'
res = requests.get(url,headers=headers)
hxs = Selector(res)
#print(res.text)
datePub = hxs.xpath('//main[@class="content"]//time/text()').extract()
#print (datePub)
links = hxs.xpath('//main[@class="content"]//h2/a')
for index, link in enumerate(links):
            pubDateStr = datePub[index]
            pubDateStr = pubDateStr.strip()
            
            url = ''.join(link.xpath('./@href').extract())
            item_pubDateStr = datetime.strftime(pubDate, '%Y-%m-%d')
            item_res = requests.get(url, headers=headers)
            item_hxs = Selector(item_res)
            item_title = item_hxs.xpath("//h2/text()").extract()
            item_content = item_hxs.xpath("//main//div[@class='econtent']/p//text()").extract()
            item_datePublish =item_pubDateStr
            item_linkAddress = url
            filename = datetime.now().strftime('%Y%m%d%H%M%S%f')+".txt"
            str_result = '{"linkAddress":["'+url+'"],'
            str_result = str_result + '"title":["'+item_title[0]+'"],'
            str_result = str_result + '"datePublish": ["'+item_pubDateStr+'"],'
            if len(item_content)>1:
                str_result = str_result + '"content": ["'+item_content[0]+'"]}'
            else:
                str_result = str_result + '"content": ["' + "" + '"]}'

            if len(str_result) >0:
                with open(filename, 'w',encoding='utf-8') as f:
                    f.write(str_result)
                    print(item_title)


如何获取当期可用的Cookies的方法:

打开Chorme,打开“开发者工具”(按F12)

访问网址后

去开发发工具里的“Network”Tab页里去找它的Cookies!


node.js主从分布式爬虫

node.js是一款基于google的V8引擎开发javascript运行环境。在高性能的V8引擎以及事件驱动的单线程异步非阻塞运行模型的支持下,node.js实现的web服务可以在没有Nginx的http服务器做反向代理的情况下实现很高的业务并发量。

爬虫 解决网页ip限制的问题的八种方法

之前由于公司项目需要,采集过google地图数据,还有一些大型网站数据。 有小部分网站的防范措施比较弱,可以伪装下IP,修改X-Forwarded-for(貌似这么拼。。。)即可绕过。ser agent 伪装和轮换 ,使用代理 ip 和轮换

爬虫解决网页重定向问题

每个网站主页是网站资源的入口,当重定向发生在网站主页时,如果不能正确处理就很有可能会错失这整个网站的内容。 笔者编写的爬虫在爬取网页时遇到了三种重定向的情况。

反爬经验与理论基础

完整的反爬体系有三大部分工作要做:感知识别、策略分析、监控封禁。数据支撑:爬虫指纹、设备指纹、风险UA、IP库等,不同端指纹的mapping等。

什么是网络爬虫,网络爬虫有什么用?

网络爬虫在数据采集方面有好的优势,比如采集速度快,比人来操作可能要快一千倍一万倍都不止;方便将获取的数据进行相关的清洗加工以及储存工作;代码可重复使用,或者说是一劳永逸。

爬虫最终杀手锏 --- PhantomJS 详解(附案例)

PhantomJS无界面的浏览器:认识PhantomJS、网站模拟登录豆瓣网、动态页面模拟点击(unittest -python测试模块)、执行JavaScript代码、模拟最新无界面浏览器...

网络爬虫_基于各种语言的开源网络爬虫总汇

网络爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。是互联网爬虫,蜘蛛,数据采集器,网页解析器的汇总,下面介绍各语言实现网络爬虫的开源框架

大话爬虫的实践技巧

数据收集的一种是方式是通过上报API进行自身平台用户交互情况的捕获,还有一种手段是通过开发爬虫程序,爬取竞品平台的数据,后面就重点说下爬虫的应用场景和实践中会遇到的问题和反反爬虫的一些套路与技巧。

web爬虫抓取技术的门道,对于网络爬虫技术的攻与防

从爬虫的攻防角度来讲,最简单的爬虫,是几乎所有服务端、客户端编程语言都支持的http请求,只要向目标页面的url发起一个http get请求,即可获得到浏览器加载这个页面时的完整html文档,这被我们称之为“同步页”。

内容以共享、参考为目的,请勿用于商业用途。其版权归原作者所有,如有侵权,请与小编联系,情况属实将予以删除!

广告赞助文章投稿关于web前端网站点搜索站长推荐网站地图站长QQ:522607023

小程序专栏: 土味情话心理测试脑筋急转弯幽默笑话段子句子语录成语大全