爬虫
大神,起风了
以前等风来,后来起风了
展开
-
爬虫——requests基本请求,get和post
get请求response=requests.get(url=url,params=params,headers=headers)不带参数:response 对象其他重要属性import requestsurl='https://www.sogou.com/'response=requests.get(url=url)#二进制(byte)类型的页面数据print(re...原创 2019-03-19 18:01:03 · 3476 阅读 · 0 评论 -
爬虫——scrapy框架爬取多个页面电影的二级子页面的详细信息
文章目录需求:总结:代码:movieinfo.pyitems.pymiddleware.pypipelines.py结果:附加:需求:scrapy框架,爬取某电影网页面的每个电影的一级页面的名字爬取每部电影二级页面的详细信息使用代理ip保存日志文件存为csv文件总结:1、xpath解析使用extract()的各种情况分析https://blog.csdn.net/nzjdsd...原创 2019-03-23 16:36:13 · 8409 阅读 · 1 评论 -
爬虫--基于urllib的简单的爬虫反爬虫
anaconda下自带 jupyter notebook ,安装及环境变量设置参考:https://blog.csdn.net/Light__1024/article/details/88655333简介:爬虫,模拟浏览器浏览网页,抓取页面数据(抓取全部数据或指定数据)。robots.txt协议,口头协议,约定爬虫数据的获取要遵循的协议。NEW点击Folder新建一个文件夹点击...原创 2019-03-19 12:55:58 · 929 阅读 · 0 评论 -
scrapy-日志种类
日志等级(种类): CRITICAL:严重 ERROR:错误 WARNING:警告 INFO:一般信息 DEBUG:调试信息(默认)指定输入某一日志信息: settings:LOG_LEVEL = ‘ERROR’将日志信息存储到制定文件中,而并非显示在终端里: settings:LOG_FILE = ‘log.txt’学习:https...转载 2019-03-22 15:50:14 · 273 阅读 · 0 评论 -
爬虫——post请求,代理,cookie
发起post请求改写def start_requests(self):封装参数字典格式回调函数yield scrapy.FormRequest(url=url, formdata=data, callback=self.parse) class PostdemoSpider(scrapy.Spider): name = 'postDemo' ...原创 2019-03-22 15:21:34 · 545 阅读 · 0 评论 -
爬虫——基于RedisSpider分布式爬取网易新闻:代理池,ua池,selenium加载动态数据,分布式
总结:先编写普通工程代码再改写。selenium使用1、在爬虫文件中,用selenium创建浏览器对象,2、然后改写下载中间件的process_response方法,通过该方法对下载中间件获取的页面响应内容进行更改,更改成浏览器对象去模拟浏览器获取全部页面之后的内容。3、进一步发现页面下拉的时候数据还会不断加载,因此在让浏览器再执行一段js代码移动到浏览器底部。4、settings里...原创 2019-03-25 17:30:18 · 552 阅读 · 0 评论 -
爬虫——scrapy框架核心组件流程
流程:引擎检测起始列表的url,调用start_request方法对列表里的url发起请求start_urls = [‘https://www.qiushibaike.com/text/’]Spiders(爬虫)将需要发送请求的url(requests)经ScrapyEngine(引擎)交给Scheduler(调度器)。Scheduler(排序,入队)处理后,经ScrapyEngine...转载 2019-03-22 10:33:44 · 293 阅读 · 0 评论 -
爬虫——多个url数据爬取
请求的手动发送pipelines.pyclass SecondPipeline(object): f = None def open_spider(self,spider): print('start') self.f = open('./qiubai.text','w',encoding='utf-8') def process_i...原创 2019-03-22 10:05:47 · 3301 阅读 · 0 评论 -
scrapy框架——持久化存储
文章目录磁盘文件基于终端指令流程总结基于管道流程总结:数据库mysql:流程总结:redis:流程总结:磁盘文件基于终端指令class QiubaiSpider(scrapy.Spider): name = 'qiubai' #allowed_domains = ['www.qiushibaike.com/text'] start_urls = ['https://w...原创 2019-03-22 08:43:00 · 251 阅读 · 0 评论 -
爬虫——scrapy框架基础
学习:https://www.cnblogs.com/foremostxl/p/10078543.html基础语法:在命令行下创建工程:scrapy startproject 项目名称在命令行下创建项目:cd 进入工程所在文件夹scrapy genspider 爬虫文件的名称 起始url再执行命令:项目文件下执行 :scrapy crawl 爬虫文件的名称 --nolog(...原创 2019-03-21 12:04:26 · 305 阅读 · 0 评论 -
爬虫——需求:获取豆瓣电影中动态加载出更多电影详情数据
# 需求:获取豆瓣电影中动态加载出更多电影详情数据# 思路:喜剧排行榜,ajax请求,20条,页面滚动加载# # 浏览器打开网址--模拟浏览器滚动--怎么滚动页面?执行js代码。怎么抓取?不用重新发请求from selenium import webdriver as wdfrom time import sleepbro = wd.PhantomJS(executable_path...原创 2019-03-20 21:15:02 · 1271 阅读 · 0 评论 -
爬虫——phantomJs
PhantomJS是一款无界面的浏览器,驱动下载:http://phantomjs.org/download.html流程与selenium一致,只是改了webdriver 的浏览器类型和驱动目录,增加了截屏功能bro.save_screenshot('./1.png')from selenium import webdriver as wdbro = wd.PhantomJS(exe...原创 2019-03-20 21:02:22 · 534 阅读 · 0 评论 -
爬虫——selenium
让谷歌浏览器自动启动并百度自动搜索关键词思路:下载浏览器驱动,创建浏览器对象,让浏览器get请求打开一个页面,定位到搜索框,输入值,定位到按钮,执行点击操作。环境搭建安装selenum:pip install selenium获取某一款浏览器的驱动程序(以谷歌浏览器为例)谷歌浏览器驱动下载地址:http://chromedriver.storage.googleapis.com/inde...原创 2019-03-20 17:44:43 · 266 阅读 · 0 评论 -
爬虫——beautiful演练及语法
将html文档转换成beautiful对象,然后调用属性和方法进行定位解析主要语法:创建Beatiful对象:本地:BeautifulSoup(open('本地文件'), 'lxml')网络:Beatiful('网络请求到的页面数据','lxml')获取a标签属性:soup.a['href']获取文本内容:soup.a.string 相当于xpath中的 /text()...原创 2019-03-20 17:05:59 · 319 阅读 · 0 评论 -
爬虫——利用xpath插件爬取段子
# 项目需求:利用Xpath 获取段子的内容和作者 https://ishuo.cn/joke import requestsfrom lxml import etree# 指定urlurl='https://ishuo.cn/joke'headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/5...原创 2019-03-20 16:02:49 · 436 阅读 · 0 评论 -
爬虫——练习分页爬取糗事百科热图,保存图片到本地
os模块操作re模块操作requests操作缺点是有点慢import requestsimport reimport osif not os.path.exists('./img2'): os.mkdir('./img2')start_page = int(input("输入起始页码"))end_page = int(input("输入终止页码"))proxies...原创 2019-03-20 12:48:39 · 981 阅读 · 0 评论 -
爬虫-使用代理ip,使用session
1、使用代理ip和普通requests.get请求抓取页面流程一样,只是多了个参数proxies.http://www.goubanjia.com/ 找代理IP,注意http,https,选与目标网址一样的协议。proxies字典格式的import requestsurl='https://www.baidu.com/s?wd=ip&ie=utf-8'proxies={...原创 2019-03-20 09:33:18 · 4069 阅读 · 0 评论 -
爬虫——练习-爬取一定范围内的页面数据
爬取前三页的数据第一次写的代码:# 综合项目实战:爬取搜狗,知乎某一词条对应的某一范围页码的数据# 分析下爬取第一页的url和第二页的url,get请求参数中只有page在变,把url固定,变量封装import requestsurl='http://zhihu.sogou.com/zhihu?'headers={"User-Agent":"Mozilla/5.0 (Windo...原创 2019-03-19 21:32:58 · 1440 阅读 · 0 评论 -
爬虫——分布式爬虫爬取糗事百科所有页面的趣图链接
文章目录分布式爬取的流程:代码:实质上就是在多个机器上运行爬虫文件,调用组件scrapy_redis实现共享调度器和管道,写入redis数据库的过程。分布式爬取的流程:https://www.cnblogs.com/foremostxl/p/10095663.html#_label1安装scrapy-redis组件,pip install scrapy-redisredis配置文...原创 2019-03-24 15:12:21 · 350 阅读 · 0 评论