
爬虫
大神,起风了
以前等风来,后来起风了
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
爬虫——requests基本请求,get和post
get请求 response=requests.get(url=url,params=params,headers=headers) 不带参数: response 对象其他重要属性 import requests url='https://www.sogou.com/' response=requests.get(url=url) #二进制(byte)类型的页面数据 print(re...原创 2019-03-19 18:01:03 · 3589 阅读 · 0 评论 -
爬虫——scrapy框架爬取多个页面电影的二级子页面的详细信息
文章目录需求:总结:代码:movieinfo.pyitems.pymiddleware.pypipelines.py结果:附加: 需求: scrapy框架,爬取某电影网页面的每个电影的一级页面的名字 爬取每部电影二级页面的详细信息 使用代理ip 保存日志文件 存为csv文件 总结: 1、xpath解析使用extract()的各种情况分析 https://blog.youkuaiyun.com/nzjdsd...原创 2019-03-23 16:36:13 · 8743 阅读 · 1 评论 -
爬虫--基于urllib的简单的爬虫反爬虫
anaconda下自带 jupyter notebook ,安装及环境变量设置参考: https://blog.youkuaiyun.com/Light__1024/article/details/88655333 简介: 爬虫,模拟浏览器浏览网页,抓取页面数据(抓取全部数据或指定数据)。 robots.txt协议,口头协议,约定爬虫数据的获取要遵循的协议。 NEW 点击Folder新建一个文件夹 点击...原创 2019-03-19 12:55:58 · 1011 阅读 · 0 评论 -
scrapy-日志种类
日志等级 (种类): CRITICAL:严重 ERROR:错误 WARNING:警告 INFO:一般信息 DEBUG:调试信息(默认) 指定输入某一日志信息: settings:LOG_LEVEL = ‘ERROR’ 将日志信息存储到制定文件中,而并非显示在终端里: settings:LOG_FILE = ‘log.txt’ 学习: https...转载 2019-03-22 15:50:14 · 328 阅读 · 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 · 616 阅读 · 0 评论 -
爬虫——基于RedisSpider分布式爬取网易新闻:代理池,ua池,selenium加载动态数据,分布式
总结: 先编写普通工程代码再改写。 selenium使用 1、在爬虫文件中,用selenium创建浏览器对象, 2、然后改写下载中间件的process_response方法,通过该方法对下载中间件获取的页面响应内容进行更改,更改成浏览器对象去模拟浏览器获取全部页面之后的内容。 3、进一步发现页面下拉的时候数据还会不断加载,因此在让浏览器再执行一段js代码移动到浏览器底部。 4、settings里...原创 2019-03-25 17:30:18 · 628 阅读 · 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 · 340 阅读 · 0 评论 -
爬虫——多个url数据爬取
请求的手动发送 pipelines.py class 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 · 3406 阅读 · 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 · 491 阅读 · 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 · 392 阅读 · 0 评论 -
爬虫——需求:获取豆瓣电影中动态加载出更多电影详情数据
# 需求:获取豆瓣电影中动态加载出更多电影详情数据 # 思路:喜剧排行榜,ajax请求,20条,页面滚动加载 # # 浏览器打开网址--模拟浏览器滚动--怎么滚动页面?执行js代码。怎么抓取?不用重新发请求 from selenium import webdriver as wd from time import sleep bro = wd.PhantomJS(executable_path...原创 2019-03-20 21:15:02 · 1342 阅读 · 0 评论 -
爬虫——phantomJs
PhantomJS是一款无界面的浏览器, 驱动下载: http://phantomjs.org/download.html 流程与selenium一致,只是改了webdriver 的浏览器类型和驱动目录,增加了截屏功能bro.save_screenshot('./1.png') from selenium import webdriver as wd bro = wd.PhantomJS(exe...原创 2019-03-20 21:02:22 · 582 阅读 · 0 评论 -
爬虫——selenium
让谷歌浏览器自动启动并百度自动搜索关键词 思路:下载浏览器驱动,创建浏览器对象,让浏览器get请求打开一个页面,定位到搜索框,输入值,定位到按钮,执行点击操作。 环境搭建 安装selenum:pip install selenium 获取某一款浏览器的驱动程序(以谷歌浏览器为例) 谷歌浏览器驱动下载地址:http://chromedriver.storage.googleapis.com/inde...原创 2019-03-20 17:44:43 · 316 阅读 · 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 · 411 阅读 · 0 评论 -
爬虫——利用xpath插件爬取段子
# 项目需求:利用Xpath 获取段子的内容和作者 https://ishuo.cn/joke import requests from lxml import etree # 指定url url='https://ishuo.cn/joke' headers={ "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/5...原创 2019-03-20 16:02:49 · 494 阅读 · 0 评论 -
爬虫——练习分页爬取糗事百科热图,保存图片到本地
os模块操作 re模块操作 requests操作 缺点是有点慢 import requests import re import os if not os.path.exists('./img2'): os.mkdir('./img2') start_page = int(input("输入起始页码")) end_page = int(input("输入终止页码")) proxies...原创 2019-03-20 12:48:39 · 1036 阅读 · 0 评论 -
爬虫-使用代理ip,使用session
1、使用代理ip和普通requests.get请求抓取页面流程一样,只是多了个参数proxies. http://www.goubanjia.com/ 找代理IP,注意http,https,选与目标网址一样的协议。 proxies字典格式的 import requests url='https://www.baidu.com/s?wd=ip&ie=utf-8' proxies={ ...原创 2019-03-20 09:33:18 · 4212 阅读 · 0 评论 -
爬虫——练习-爬取一定范围内的页面数据
爬取前三页的数据 第一次写的代码: # 综合项目实战:爬取搜狗,知乎某一词条对应的某一范围页码的数据 # 分析下爬取第一页的url和第二页的url,get请求参数中只有page在变,把url固定,变量封装 import requests url='http://zhihu.sogou.com/zhihu?' headers={ "User-Agent":"Mozilla/5.0 (Windo...原创 2019-03-19 21:32:58 · 1554 阅读 · 0 评论 -
爬虫——分布式爬虫爬取糗事百科所有页面的趣图链接
文章目录分布式爬取的流程:代码: 实质上就是在多个机器上运行爬虫文件,调用组件scrapy_redis实现共享调度器和管道,写入redis数据库的过程。 分布式爬取的流程: https://www.cnblogs.com/foremostxl/p/10095663.html#_label1 安装scrapy-redis组件,pip install scrapy-redis redis配置文...原创 2019-03-24 15:12:21 · 459 阅读 · 0 评论