随笔分类 -  爬虫

包含接口调用的方式,页面元素处理,请求头讲解等
xpath选择器
摘要:xpath选择器是根据元素在html中的路径来定位选择元素的。 一般在selenium中的select_by_xpath(),scrapy中的xpath selector中使用xpath语法。 ./a 表示相对路径,紧跟当前路径下的直接子元素a .//a 表示相对路径,当前路径下的子孙节点元素a / 阅读全文
posted @ 2019-05-09 15:18 庭明 阅读(808) 评论(0) 推荐(0)
chrome 无头浏览器的使用
摘要:在linux服务器上安装chrome : ubuntu: 下载页面https://www.chrome64bit.com/index.php/google-chrome-64-bit-for-linux wget https://dl.google.com/linux/direct/google-c 阅读全文
posted @ 2019-01-15 17:54 庭明 阅读(7308) 评论(0) 推荐(0)
scrapy-redis 实现 分布式爬虫
摘要:scrapy的组建scrapy Engine ,scheduler,downloader,spider,item pipeline ,在编写爬虫程序一般用到的组件是 spider,item,pipeline,middleware scrapy-redis 改写了scrapy的spider,pipel 阅读全文
posted @ 2018-10-19 15:22 庭明 阅读(218) 评论(0) 推荐(0)
selenium 常用操作
摘要:官方文档: https://selenium-python.readthedocs.io/api.html#selenium.webdriver.remote.webdriver.WebDriver.switch_to_frame 通常初始步骤 导入 webdriver, 通过下载的chromedr 阅读全文
posted @ 2018-10-11 18:31 庭明 阅读(2702) 评论(0) 推荐(1)
chrome扩展应用API
摘要:background scripts可以访问所有的 WebExtension JavaScript APIs ,但是不能直接访问页面 content scripts 可以通过标准的DOM api 读取,修改页面,但是只能访问小部分的WebExtension JavaScript APIs,它与bac 阅读全文
posted @ 2018-09-17 11:19 庭明 阅读(346) 评论(0) 推荐(0)
chrome扩展应用实例
摘要:chrome extensions 基本组成,唯一必要的文件就是manifest.json这个应用的配置清单 manifest.json中前三个参数为必要参数,其他的可选: { "name ":"your extensions name ", "version":"1.0.0.1", //扩展应用版 阅读全文
posted @ 2018-09-14 14:43 庭明 阅读(300) 评论(0) 推荐(0)
js基础语法
摘要:||与&& a && b : 将a, b转换为Boolean类型, 再执行逻辑与, true返回b, false返回aa || b : 将a, b转换为Boolean类型, 再执行逻辑或, true返回a, false返回b转换规则:对象为true非零数字为true非空字符串为true其他为fals 阅读全文
posted @ 2018-09-05 11:29 庭明 阅读(107) 评论(0) 推荐(0)
scrapy的Middleware
摘要:对于下载中间件 settings里的数字大小: process_request的顺序 数字越小,越先调用 process_response 的顺序, 数字越大,越先调用 返回值: process_request: 【None :继续调用下一个中间件的process_request方法;】 【Resp 阅读全文
posted @ 2018-09-04 10:11 庭明 阅读(302) 评论(0) 推荐(0)
urllib 获取页面或发送信息
摘要:#! /usr/bin/env python3 # -*- coding:utf-8 -*- #urllib提供了一系列用于操作URL的功能。 #urllib的request模块可以非常方便地抓取URL内容,也就是发送一个GET请求到指定的页面,然后返回HTTP的响应: #例如,对豆瓣的一个URL 阅读全文
posted @ 2018-08-28 14:56 庭明 阅读(198) 评论(0) 推荐(0)
requests(第三方模块) 请求、登录、下载网页
摘要:import requests #http://docs.python-requests.org/en/latest/api/ 说明文档 ''' requests.request(method,url,**kwargs) requests.head(url,**kwargs) requests.ge 阅读全文
posted @ 2018-08-28 14:47 庭明 阅读(662) 评论(0) 推荐(0)
爬虫小示例
摘要:#!Python3 #-*- coding: utf-8 -*- #网页爬虫示例 用于抓取的示例网址http://example.webscraping.com ,搭建该网站的源代码 http://bitbucket.org/wswp/places ''' 准备着手抄写爬虫程序时,想到最近看的教程中 阅读全文
posted @ 2018-08-28 14:46 庭明 阅读(195) 评论(0) 推荐(0)
lxml简单用法 解析网页
摘要:import requests s=requests.Session() re=s.get(lgurl,headers=headers) #此处s可以直接换成requests the_page=re.content #content 为二进制文本 from lxml import etree htm 阅读全文
posted @ 2018-08-28 14:45 庭明 阅读(219) 评论(0) 推荐(0)
URL组成成分及各部分作用简介及urllib.parse / uri
摘要:URL的一般格式为(带方括号[]的为可选项): protocol :// hostname[:port] / path / [;parameters][?query]#fragment urllib.parse.urlparse会把URL解析成6部分 scheme://netloc/path;par 阅读全文
posted @ 2018-08-28 14:45 庭明 阅读(1505) 评论(0) 推荐(0)
urllib python3 请求、登录、下载网页
摘要:urllib.request 发送request和获取request的结果 urllib.error包含了urllib.request产生的异常 urllib.parse用来解析和处理Url urllib.robotparse用来解析页面的robots.txt文件 urllib.request.ur 阅读全文
posted @ 2018-08-28 14:44 庭明 阅读(547) 评论(0) 推荐(0)
Scrapy结构
摘要:http://scrapy-chs.readthedocs.io/zh_CN/1.0/intro/overview.html scrapy 使用Twisted 这个异步网络库来处理网络通信,使用python写的爬虫框架。 scrapy的构造 Scrapy引擎(Engine): 负责控制数据流在系统的 阅读全文
posted @ 2018-08-28 12:03 庭明 阅读(210) 评论(0) 推荐(0)
爬虫的总结
摘要:基于验证码的反爬虫:简单的验证码可以通过图片解析出来,或通过人工打码(一般需付费) 基于Headers的反爬虫: 大部分网站会对headers中的User-Agent和Referer字段进行检测。可根据浏览器正常访问的请求头对爬虫的请求头进行修改,尽可能和浏览器保持一致。 基于用户行为的反爬虫:例同 阅读全文
posted @ 2018-08-28 12:01 庭明
linux上定时运行scrapy
摘要:1 运行方式一 (proxy-ip) [root@192 ~]# cd /data/test-proxy-ip/ (proxy-ip) [root@192 test-proxy-ip]# scrapy list proxy_ip (proxy-ip) [root@192 test-proxy-ip] 阅读全文
posted @ 2018-08-27 17:27 庭明 阅读(493) 评论(0) 推荐(0)
scrapy的selectors
摘要:from scrapy import Selector >>> doc = """ ... <div> ... <ul> ... <li class="item-0"><a href="link1.html">first item</a></li> ... <li class="item-1"><a 阅读全文
posted @ 2018-08-27 17:19 庭明 阅读(99) 评论(0) 推荐(0)
re 正则
摘要:如果直接给出字符,就是精确匹配。对于特殊字符- ,在正则表达式中要用转义字符\转义。 \d 一个数字, \w 任意单个字符,空白符除外(例 字母、数字或下划线 . 英文点号) \s 一个空格(也包括Tab等空白符) 大写的为小写的取反模式 \D 除0到9的数字以外的任何字符 \W 匹配除数字、字母和 阅读全文
posted @ 2018-07-11 17:34 庭明 阅读(431) 评论(0) 推荐(0)
js常用用途
摘要:页面元素查找 查找元素方法表达式 返回值 依据元素性值 可使用的对象 a=document.getElementById() 单个元素,null 属性ID值 document b=document.getElementsByName() 数组 属性name值 document c=document. 阅读全文
posted @ 2018-06-22 17:29 庭明 阅读(155) 评论(0) 推荐(0)