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

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

在爬网站时,发现网站做了百度云加速,每次访问首页时要求输入验证码,才能打开网站首页。没采用网上自动解析验证码图片的方案,快过年了,不想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!


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

2.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/1950

关闭

网络爬虫程序员被抓,我们还敢爬虫吗?

某大数据科技公司老板丢给一个小小的程序员一个网站,告诉他把这个网站的数据抓取下来,咱们做一做分析。这个小小的程序员就吭哧吭哧的写了一段抓取代码,测试了一下,程序没问题,可以正常的把这个网站的数据给抓取下来

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

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

爬虫是什么吗?你知道爬虫的爬取流程吗?

你了解爬虫是什么吗?你知道爬虫的爬取流程吗?你知道怎么处理爬取中出现的问题吗?如果你回答不出来,或许你真的要好好看看这篇文章了!网络爬虫(Web crawler),是一种按照一定的规则

javascript可以爬虫吗?

网络爬虫(又被称为网页蜘蛛,网络机器人),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。

使用Node.js爬取任意网页资源并输出高质量PDF文件到本地

本文适合无论是否有爬虫以及 Node.js 基础的朋友观看~如果你是一名技术人员,那么可以看我接下来的文章,否则,请直接移步到我的 github 仓库,直接看文档使用即可

node.js主从分布式爬虫

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

大话爬虫的实践技巧

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

8个Python爬虫框架

Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。pyspider 是一个用python实现的功能强大的网络爬虫系统,能在浏览器界面上进行脚本的编写

nodejs能爬虫么?

nodejs可以爬虫。Node.js出现后,爬虫便不再是后台语言如PHP,Python的专利了,尽管在处理大量数据时的表现仍然不如后台语言,但是Node.js异步编程的特性可以让我们在最少的cpu开销下轻松完成高并发的爬取。

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

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

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!