爬虫
CtrlZ1
浮天水送无穷树,带雨云埋一半山。
展开
-
scrapy提升篇之配置
scrapy提升篇之配置增加并发并发是指同时处理的request的数量。其有全局限制和局部(每个网站)的限制。Scrapy默认的全局并发限制对同时爬取大量网站的情况并不适用,因此您需要增加这个值。 增加多少取决于您的爬虫能占用多少CPU。 一般开始可以设置为 100 。不过最好的方式是做一些测试,获得Scrapy进程占取CPU与并发数的关系。 为了优化性能,您应该选择一个能使CPU占用率...转载 2019-10-18 17:26:36 · 194 阅读 · 0 评论 -
scrapy运行流程解析
首先要明白这些英文单词的含义:Scrapy Engine引擎负责控制数据流在系统中所有组件中流动,并在相应动作发生时触发事件。 详细内容查看下面的数据流(Data Flow)部分。调度器(Scheduler)调度器从引擎接受request并将他们入队,以便之后引擎请求他们时提供给引擎。(其实就是存储request请求的队列)下载器(Downloader)下载器负责获取页面数据...原创 2019-10-17 09:24:27 · 588 阅读 · 0 评论 -
Scrapy源码解读01之命令行(Command line tool)
源码网址:https://doc.scrapy.org/en/latest/topics/commands.html创建项目:scrapy startproject 项目名称 [项目目录]如果不写项目目录,则会在命令运行的目录下创建一个和项目名称一样的文件夹,存放项目文件创建爬虫文件scrapy genspider 爬虫名字 爬虫网址例如scrapy genspider z...原创 2019-07-27 21:03:03 · 217 阅读 · 0 评论 -
scrapy抓取知乎全部用户信息
先说一下核心思想,从一个大v开始,抓取他的关注和粉丝,然后再遍历这两个群体,再抓关注和粉丝,层层抓下去,就会覆盖知乎的所有用户。好,让我们先分析分析知乎这个网站,提示一下知乎访问是需要一些请求头的,DEFAULT_REQUEST_HEADERS = { 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) A...原创 2019-07-26 21:03:32 · 292 阅读 · 2 评论 -
Python爬虫框架之Scrapy详解【转】
scrapy爬虫安装:首先,安装Python,pip,然后使用pip安装lxml和scrapy,这样就可以新建scrapy项目了。然后,在命令行使用scrapy startproject xxx命令新建一个名为xxx的scrapy爬虫项目。scrapy爬虫内部处理流程:我们在使用scrapy写爬虫,一般要继承scrapy.spiders.Spider类,在这个类中,有个数组类型的变量sta...转载 2019-07-22 16:19:43 · 271 阅读 · 0 评论 -
Scrapy使用Downloader Middleware设置代理访问网站
一、首先上网找到一个好用能用的代理二、找到以后设置代理:win10打开控制面板里的internet选项里的局域网设置,在这里设置勾选,设置好代理后,点击确定。代理设置完毕。三、代码实现middlewares.pyclass ProxyMiddleware(object): logger=logging.getLogger(__name__) #返回...原创 2019-07-22 15:20:06 · 743 阅读 · 0 评论 -
scrapy小功能之scrapy shell
Pycharm的scrapy文件下的命令行中输入scrapy shell +网址(如quotes.toscrape.com)就可以操作,输入语句就可以得到页面返回结果。下面就是输入……shell……之后的命令行交互界面:我要测试原网页的页面元素是不是选取正确:回车原网页:非常实用,当你不清楚抓取语句写的是否正确时,就可以用这个来检测。退出这个模式:ex...原创 2019-07-21 19:39:37 · 176 阅读 · 0 评论 -
崔庆才flask+scrapy维护cookies过程及代码讲解
源码请访问其github,https://github.com/Python3WebSpider/CookiesPool下面开始一步一步来讲解代码:首先看run.py看一下程序的入口from cookiespool.scheduler import Schedulerdef main(): s = Scheduler() s.run()if __name__ ...原创 2019-07-25 13:35:49 · 400 阅读 · 1 评论 -
完整pyspider安装
通过pip install pyspider,部分win10用户在安装pyspider时可能会出现Command "python setup.py egg_info" failed with error code 10 in ……这个错误,是因为找不到pycurl导致,所以我们需要用下面的方法。一、pip install wheel二、访问:http://www.lfd.u...原创 2019-07-20 21:28:42 · 423 阅读 · 0 评论 -
selenium+pyquery爬取京东美食并存入mongodb数据库
一、首先我们分析一下京东站点:要是想爬取美食的话,我们首先需要在搜索输入框里输入我们要搜索的内容,也就是“美食”两个字,然后点击搜索按钮,这个技术我们需要用selenium来实现模拟操作,我们用一个search函数来实现def search(): try: # 我们要确保所有元素加载完成,所以需要一个判断 # 谷歌搜索python seleni...原创 2019-07-20 09:54:19 · 473 阅读 · 0 评论 -
cookies池和proxy池【转】
https://github.com/Python3WebSpider/CookiesPoolhttps://github.com/Python3WebSpider/ProxyPool首先从上面的俩个网址上下载下来工具运行run.py可以在0.0.0.0:5000/weibo/random 得到cookies可在localhost:5555/random中得到proxy---...转载 2019-07-24 17:54:17 · 331 阅读 · 0 评论 -
Python爬虫进行Cookie登录
不太喜欢说废话,直接开始。一、首先找到发送登录请求(post或get)的url:可以用抓包工具来进行捕捉,我用的工具是fiddler。fidder的安装及使用方法大家自行百度。这里假设大家已经安装成功并且会使用该工具。(还是提醒一点吧,此工具与其他的工具有点不同,代理端口是8888,而不是8008)当然也可以不用抓包工具,用浏览器的F12功能也可以看见:首先,以一个需要登录之后...原创 2019-07-17 14:58:09 · 2792 阅读 · 0 评论 -
Http中Query string parameters的含义
这里还是记录一下吧,防止自己忘记了。其实就是get请求中url后面要带的参数。也就是说,向对应网址服务器传递这些参数就可以获得请求的内容,属于爬虫的基础知识。如,根据这张图片的内容,可以这么传递参数data={ 'aid':24, 'app_name':'web_search', ……}url='http……………………/?'+urlencod...原创 2019-07-19 09:59:17 · 31705 阅读 · 7 评论