python爬虫

Python爬虫入门记录2.0:获取指定网站多页表格数据

丶灬走出姿态 提交于 2020-01-16 13:34:52
工具: pycharm 2019.3.1 anaconda3 注:安装完成anaconda后无需再安装Python,anaconda已经集成了Python编译环境。安装anaconda这个全家桶即可。 具体下载网址: (官网即可,请自主匹配合适版本) pycharm(社区免费版): https://www.jetbrains.com/pycharm/ anaconda: https://www.anaconda.com/ 操作步骤: 1、锁定网址类型,获取页面信息(Chrome or 火狐) ① F12调出开发者工具,定位network,刷新页面加载获取: ② 锁定header,找到页面URL、cookie: 注:一般的连接都是采用 keep - alive形式 2、代码实现 ① 加载相关库: from urllib.parse import urljoin import requests import xlrd import xlwt from xlutils.copy import copy from bs4 import BeautifulSoup import time ②创建xls文件,用于存储数据: index = len(value) # 获取需要写入数据的行数 workbook = xlwt.Workbook() # 新建一个工作簿 sheet = workbook

爬虫学习笔记1——基本思路

牧云@^-^@ 提交于 2020-01-16 08:45:57
爬虫学习笔记1——基本思路 获取网页html 从html中提取所需信息 存储信息 主函数中给出要爬取的网页的url,将各部分连接 源代码来自崔庆才《python3网络爬虫开发实战》 获取网页html 使用requests库的get(url , headers)方法headers是用户代理,在浏览器地址栏输入“about:version”就可看到。代码如下: def get_one_page ( url ) : try : headers = { 'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; WOW64)' + 'AppleWebKit/537.36 (KHTML, like Gecko)' + 'Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3742.400' + 'QQBrowser/10.5.3864.400' } response = requests . get ( url , headers = headers ) if response . status_code == 200 : return response . text return None except RequestException : return None 从html中提取所需信息 使用re.compile(

爬虫实战(三) 用Python爬取拉勾网

孤街醉人 提交于 2020-01-16 04:50:42
目录 0、前言 1、初始化 2、爬取数据 3、保存数据 4、数据可视化 5、大功告成 0、前言 最近,博主面临着选方向的困难(唉,选择困难症患者 >﹏<),所以希望了解一下目前不同岗位的就业前景 这时,就不妨写个小爬虫,爬取一下 拉勾网 的职位数据,并用图形化的方法展示出来,一目了然 整体的 思路 是采用 selenium 模拟浏览器的行为,具体的步骤如下: 初始化 爬取数据,这里分为两个部分:一是爬取网页数据,二是进行翻页操作 保存数据,将数据保存到文件中 数据可视化 整体的 代码结构 如下: class Lagou: # 初始化 def init(self): pass # 爬取网页数据 def parse_page(self): pass # 进行翻页操作 def turn_page(self): pass # 爬取数据,调用 parse_page 和 turn_page def crawl(self): pass # 保存数据,将数据保存到文件中 def save(self): pass # 数据可视化 def draw(self): pass if __name__ == '__main__': obj = Lagou() obj.init() obj.crawl() obj.save() obj.draw() 好,下面我们一起来看一下整个爬虫过程的详细分析吧!! 1

【爬虫】大杀器——phantomJS+selenium

时光总嘲笑我的痴心妄想 提交于 2020-01-16 04:49:56
【爬虫】大杀器——phantomJS+selenium 视频地址 江湖上有一个传说,得倚天屠龙者可称霸武林。爬虫中也有两个大杀器,他们结合在一起时,无往不利,不管你静态网站还是动态网站,通吃。 phantomJS http://phantomjs.org/ 一种无头浏览器,何为无头浏览器,你可以看做一个无界面的浏览器,电脑能看到,人却看不到(没界面怎么看)。 下载安装: http://phantomjs.org/download.html selenium http://selenium-python.readthedocs.io/getting-started.html 能直接调用浏览器(打开浏览器,访问某个页面,获取页面信息等)。 安装命令: pip install selenium phantomJS + selenium phantomJS和selenium结合在一起就好像撼地神牛配上了跳刀、UG配上了辉耀、钢背兽配上了玲珑心。碰到搞不定的网站,直接上这两个大杀器。 举个例子 http://www.tianyancha.com/search/%E7%99%BE%E5%BA%A6%20%E6%9D%8E%E5%BD%A6%E5%AE%8F?checkFrom=searchBox 天眼查为了反爬虫可谓是煞费苦心,还专门招聘反爬虫工程师,真是丧心病狂 天眼查爬虫 python3

为了反击爬虫,前端工程师的脑洞可以有多大?

人走茶凉 提交于 2020-01-16 04:49:04
1. 前言 对于一张网页,我们往往希望它是结构良好,内容清晰的,这样搜索引擎才能准确地认知它。 而反过来,又有一些情景,我们不希望内容能被轻易获取,比方说电商网站的交易额,教育网站的题目等。因为这些内容,往往是一个产品的生命线,必须做到有效地保护。这就是 爬虫与反爬虫 这一话题的由来。 2. 常见反爬虫策略 但是世界上没有一个网站,能做到完美地反爬虫。 如果页面希望能在用户面前正常展示,同时又不给爬虫机会,就必须要做到识别真人与机器人。因此工程师们做了各种尝试,这些策略大多采用于 后端 ,也是目前比较常规单有效的手段,比如: User-Agent + Referer检测 账号及Cookie验证 验证码 IP限制频次 而爬虫是可以无限逼近于真人的,比如: chrome headless或phantomjs来模拟浏览器环境 tesseract 识别验证码 代理IP淘宝就能买到 所以我们说,100%的反爬虫策略?不存在的。 更多的是体力活,是个难易程度的问题。 不过作为前端工程师,我们可以增加一下游戏难度,设计出一些 很(sang)有(xin)意(bing)思(kuang) 的反爬虫策略。 3. 前端与反爬虫 3.1 FONT-FACE拼凑式 例子: 猫眼电影 猫眼电影里,对于票房数据,展示的并不是纯粹的数字。 页面使用了font-face定义了字符集,并通过unicode去映射展示

第三百四十四节,Python分布式爬虫打造搜索引擎Scrapy精讲—craw母版l创建自动爬虫文件—以及 scrapy item loader机制

好久不见. 提交于 2020-01-16 03:07:09
第三百四十四节,Python分布式爬虫打造搜索引擎Scrapy精讲—craw母版l创建自动爬虫文件—以及 scrapy item loader机制 用命令创建自动爬虫文件 创建爬虫文件是根据scrapy的母版来创建爬虫文件的 scrapy genspider -l 查看scrapy创建爬虫文件可用的母版 Available templates:母版说明   basic     创建基础爬虫文件    crawl      创建自动爬虫文件   csvfeed   创建爬取csv数据爬虫文件   xmlfeed    创建爬取xml数据爬虫文件 创建一个基础母版爬虫,其他同理 scrapy genspider -t 母版名称 爬虫文件名称 要爬取的域名 创建一个基础母版爬虫,其他同理 如: scrapy genspider -t crawl lagou www.lagou.com 第一步, 配置items.py接收数据字段 default_output_processor = TakeFirst() 默认利用ItemLoader类,加载items容器类填充数据,是列表类型,可以通过TakeFirst()方法,获取到列表里的内容 input_processor = MapCompose(预处理函数) 设置数据字段的预处理函数,可以是多个函数 # -*- coding: utf-8 -*

SEO禁用蜘蛛(爬虫)搜索收录网页(全)

夙愿已清 提交于 2020-01-15 11:50:36
手段一: Robots协议:用来告知搜索引擎哪些页面能被抓取,哪些页面不能被抓取;可以屏蔽一些网站中比较大的文件,如:图片,音乐,视频等,节省服务器带宽;可以屏蔽站点的一些死链接。方便搜索引擎抓取网站内容;设置网站地图连接,方便引导蜘蛛爬取页面。 spider在访问一个网站是,会首先检查该网站的根域下是否有一个叫做robots.txt的纯文本文件,这个文件用于指定spider在您网站上抓取范围。 一般屏蔽有:隐私资料,表结构 robots文件是存在于网站的根目录下,首先会检查http://www.123.com/robots.txt这个文件。 robots格式: User-agent: ( 代表所有搜索引擎) Disallow:(不允许抓取的相对路径) allow:(允许抓取的相对路径或文件) robots.txt生成器: https://robots.51240.com/ 文件用法 例: 禁止所有搜索引擎访问网站的任何部分 User-agent: * Disallow: / 实例分析:淘宝网的 Robots.txt文件:访问www.taobao.com/robots.txt User-agent: Baiduspider Allow: /article Allow: /oshtml Disallow: /product/ Disallow: / User-Agent:

python基础爬虫 视频的下载

一世执手 提交于 2020-01-15 08:25:46
对于python爬虫 对于短视频爬取的案例 解析 案件如下:url 为 https://www.pearvideo.com/ # -*- coding: utf-8 -*- import requests import re # srcUrl="(.*?)",vdoUrl # https://video.pearvideo.com/mp4/short/20200108/cont-1640135-14776159-hd.mp4 # https://www.pearvideo.com/video_1640135 headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36", } url = "https://www.pearvideo.com/" # 把视频下载封装下 提供 url 视频链接 path 保存路径 def download_file(url, path): with requests.get(url, stream=True) as r: chunk_size = 1024 content_size = int(r.headers['content

scrapy进阶《封号码罗》之如何优雅的征服世界首富亚马逊(amazon.com)

最后都变了- 提交于 2020-01-15 06:03:04
免责声明:原创文章,仅用于学习,希望看到文章的朋友,不要随意用于商业,本作者保留当前文章的所有法律权利。欢迎评论,点赞,收藏,转发! 关于亚马逊的爬虫,针对不同的使用场合,前前后后写了有六七个了,今天拿出其中一个爬虫,也是相对其他几个爬虫难度稍微大一些的,这个爬虫用到了我之前没有使用过的一个爬虫手法,虽然头疼了一天半的时间,不过最终还是写出来了! 先上爬到结果,一睹芳容! # settings.py我也就是修改了一下请求头,没有别的什么参数好设置的 DEFAULT_REQUEST_HEADERS = { 'accept' : 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3' , 'accept-encoding' 来源: CSDN 作者: Python 键盘上的舞者 链接: https://blog.csdn.net/Python_DJ/article/details/103830378

Python入门导学

自闭症网瘾萝莉.ら 提交于 2020-01-15 04:07:08
的 诞生于上世界90年代初,随着大数据于人工智能的流行,逐步流行 豆瓣,知乎使用该语言 类似一个技术的润滑剂 tiobe排行仅次于java , C 和c++ phthon 3.6 展开讲解 基础语法,,变量到高阶函数 面向对象,不仅仅是phthon的面向对象,讲思维, 常见误区 phthonic,phthon的语法特色 10.原生爬虫,最基础的phthon的语法,理解爬虫原理 python的特点 1.简洁 2. x,y = y,x 3.相对容易学习 4.python可以做什么 爬虫,大数据,测试,web ,AI,脚本处理 python的特点 1.跨平台,用在windows上,linux和maxos上 2.标准库与第三方库 来源: CSDN 作者: shlshlshk 链接: https://blog.csdn.net/shlshlshk/article/details/103809427