
python爬虫
辉辉咯
技术才是硬实力
展开
-
python微信机器人pc端
相信很多玩python的都知道,以前有个第三方库可以操作微信,实现自动回复等等功能,其原理是用https进行通信的, 但是现在大部分微信都不能登录网页版了,很多好玩的项目都受到了影响。因此,我来了。通过截取电脑版微信的消息可以做到功能更全面的效果,项目地址:https://github.com/huihuilo/pchatpchat微信pc端python代码操控(欢迎提出问题,作者尽最大努力改进)先点个赞吧背景很多系统有监控群聊消息的需求 大部分微信都登录不了网页版,python操纵原创 2020-11-20 18:30:42 · 3833 阅读 · 4 评论 -
scrapy报错:twisted.python.failure.Failure twisted.web._newclient.ParseError
scrapy项目开发过程中,scrapy运行请求返回解析错误:2018-12-21 13:02:19 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying <GET https://map.haodf.com/hospital/DE4raCNSz6Om-9cfC2nM4CIa/map.htm> (failed 1 times):...原创 2018-12-25 00:05:38 · 6049 阅读 · 0 评论 -
scrapy配置爬虫关闭的条件
在scrapy的默认配置文件中看到这四个配置:CLOSESPIDER_TIMEOUT = 0CLOSESPIDER_PAGECOUNT = 0CLOSESPIDER_ITEMCOUNT = 0CLOSESPIDER_ERRORCOUNT = 0这四个配置是配置爬虫自动关闭条件的,等于0代表不开启。CLOSESPIDER_TIMEOUT默认值:0一个整数值,单位为秒。...原创 2018-10-24 00:06:39 · 6084 阅读 · 1 评论 -
scrapy中meta的一个坑点
scrapy的meta的作用就是在执行scrapy.Request()函数时把一些回掉函数中需要的数据传进去,meta必须是一个字典,在下一个函数中可以使用response.meta防问,这里需要注意的是,meta传递的数据是浅拷贝传递的,如果传递的数据是可变的数据类型,那么很容易造成数据不对应的错误,以下是本人在工作中的遇到此问题的代码片段: def parse_jinyan(sel...原创 2018-10-17 21:08:00 · 4284 阅读 · 1 评论 -
python爬虫xpath非常实用的知识点
用python写爬虫的时候,我们需要提取网页的数据,这时就用到BeautifulSoup或者XPath,学会一种并且掌握已经足够用了,我建议用xpath。BeautifulSoup和XPath的原理不一样,BeautifulSoup是基于DOM的,会载入整个文档,解析整个DOM树,因此时间和内存开销都会大很多。而lxml只会局部遍历。BeautifulSoup是一个第三方的Pytho...原创 2018-08-03 22:23:20 · 802 阅读 · 0 评论 -
python搭建简单爬虫框架,爬取猎聘网的招聘职位信息
该项目将主要有五个部分负责完成爬取任务,分别是:URL管理器,HTML下载器,HTML解析器,数据存储器,爬虫调度器。具体代码如下:URL管理器:import hashlibimport pickleimport timeclass UrlManager(object): def __init__(self): self.new_urls = s...原创 2018-06-29 00:21:54 · 2486 阅读 · 0 评论 -
爬虫实用分析工具网址
站长工具:http://tool.chinaz.com/链接提交工具(可以被百度到):https://ziyuan.baidu.com/linksubmit/url正则表达式测试:http://tool.oschina.net/regex/Json在线解析网站:http://www.json.cn/#抓包:HTTP代理神器Fiddler 免费短期代理网站举例:西刺免费代...原创 2018-07-04 14:53:43 · 1775 阅读 · 0 评论 -
改写scrapy中的middlewares组件,建立user-agent池和IP代理池达到反爬的效果
建立user-agent池:在request的headers设置User-Agentclass RandomUserAgent(object): def __init__(self,user_agent): self.user_agent = user_agent @classmethod def from_crawler(cls,crawler):...原创 2018-03-04 14:53:13 · 3374 阅读 · 0 评论 -
scrapy处理豆瓣登录验证码的三种方式
在python爬虫登录豆瓣时候,遇到登录验证码的处理问题时,有三种验证码处理方式。首先获取登录页面,将验证码图片下载下来,利用三种不同验证码识别的方法来获取验证码,然后登录: def start_requests(self): yield scrapy.Request( self.login_url, callback=s...原创 2018-03-05 13:45:29 · 3081 阅读 · 1 评论 -
scrapy中pipeline组件常见作用,数据的清洗和入库
在scrapy的Item pipeline组件中有两个典型的作用,一个是查重并丢弃,第二个是将爬取的数据保存到文件或者数据库中。以下为用scrapy爬取的豆瓣图书信息,数据清晰和去重都可以在Item Pipeline中完成class DoubanBooksPipeline(object): def process_item(self, item, spider): ...原创 2018-03-06 16:16:14 · 8768 阅读 · 4 评论 -
scrapy内置图片和文件的下载方式MediaPipeline
scrapy的MediaPipeline一般会使用FilePipeline和ImagesPipeline,都具有一下特征: 避免重新下载最近已经下载过的数据 指定储存的位置和方式ImagesPipeline还提供了一下额外特性: 将所有下载的图片转换成通用的格式和模式 生成缩略图 检测图像的宽/高,确保他们满足最小限制使用Fil...原创 2018-03-06 17:17:31 · 2863 阅读 · 0 评论 -
python爬虫之反爬虫技术
一般网站从三个方面反爬虫:1.用户请求的Headers,2.用户行为,3.网站目录和数据加载方式。前两种比较容易遇到,大多数网站都从这些角度来反爬虫。第三种一些应用ajax的网站会采用,这样增大了爬取的难度(防止静态爬虫使用ajax技术动态加载页面)。1、从用户请求的Headers反爬虫是最常见的反爬虫策略。伪装header。很多网站都会对Headers的User-Agent进行检测,还有一部分网...原创 2018-03-15 13:54:14 · 5065 阅读 · 1 评论 -
python反爬技术之User-Agent池
基于Headers的反爬虫,从请求头进行反爬是比较常见的措施,大部分网站会对Headers中的User-Agent和Referer字段进行检测。突破方法就是根据浏览器的正常访问请求头对爬虫的请求头进行修改,尽可能的和浏览器保持一致下面是编写类来存储user-agent池的功能,下次可以直接调用class HtmlDownloader(object): def __init__(s...原创 2018-03-15 22:06:58 · 2272 阅读 · 0 评论