![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python爬虫
鹰眼2号
太极的奥秘在于静
展开
-
【整理】python爬虫(1)抓取网页,分析网页内容,模拟登录网站的逻辑、流程和注意事项
抓取网页的逻辑和过程 用户用浏览器,打开某个url地址,然后浏览器就可以显示出对应的页面内容了。这个过程,如果用程序来实现,就可以被称为抓取网页(进行后期的数据提取)对应的英文说法有,website crawl/scrape/data mining 用来抓取网页的工具,常叫做spider,crawler等。 去访问一个url地址,获取对应的网页的过程,其对...原创 2018-09-22 09:05:04 · 1082 阅读 · 0 评论 -
代理服务器的使用 之 urllib
# -*- coding: utf-8 -*-"""Created on Mon May 28 15:04:05 2018@author: Administrator"""import urllibimport redef chechProxy(proxy_addr): data = "" url = "http://www.baidu.com" ...原创 2018-12-01 15:22:14 · 318 阅读 · 0 评论 -
SSL的处理
# -*- coding: utf-8 -*-"""Created on Mon May 28 14:37:19 2018@author: Administrator"""import ssl # 安全套接层import urllib#自己保证网站证书的安全context = ssl._create_unverified_context()url = "https://...原创 2018-12-01 15:46:50 · 217 阅读 · 0 评论 -
Response.read Response.test Response.content
一。各自的意思须知:编码是将字符串转换为字节数组的过程,解码是将字节数组转换成字符串的过程。response.read() 返回网页的源码--------->字节数组,并不是字符串。只有识别了网页所有的编码。例如utf8,将字节数组编码的规则进行解码,才能可以获得网页源码的字符串。response.text() 返回的类型是s...原创 2018-12-01 17:25:17 · 1653 阅读 · 0 评论 -
python爬虫的工程化模板 urllib
# -*- coding: utf-8 -*-"""Created on Mon May 28 16:04:45 2018@author: Administrator"""import sysimport loggingimport urllibimport randomimport time# 创建日志的实例logger = logging.getLogger("ba...原创 2019-01-31 08:32:53 · 181 阅读 · 0 评论 -
线程,进程,协程
线程,进程都是内核级别的调度。协程是在一个线程中的,通过程序员在一个函数中进行,并且想写同步代码一样写异步代码在单线程[协程]里面绝对不能写耗时的操作(如:time.sleep())Tornado是基于生成器实现的协程生成器是有状态的的# -*- coding: utf-8 -*-"""Created on Fri Feb 1 08:00:08 2019@autho...原创 2019-02-01 08:23:29 · 107 阅读 · 0 评论 -
python爬取西刺ip
'''Mongcontion 存入mongodbget_html 获取西刺网页get_ip 抓取ipGetIp 验证ip是否可用,删除无用的ip,返回一个可用的ip使用的时候可以直接调用get_main() 这个接口'''import requestsfrom lxml import etreeimport pymo...原创 2019-02-01 09:42:51 · 191 阅读 · 0 评论 -
手机app抓包使用记录
方式一:Charles手机端则是需要与电脑在同一网络下,比如都连接家里的WIFI,然后在手机的WIFI高级选项里使用Charles代理,输入电脑的IP地址,端口8888,最后为证书命名。 1.启动时https://www.cnblogs.com/zoelius/p/8144402.html2.端口冲突https://blog.csdn.net/weixin_41951986...原创 2019-02-03 13:55:18 · 793 阅读 · 0 评论 -
抓取当当网app数据
对于手机app数据的抓取,首先要明白,手机app的数据是怎么传送到app上的,大多现在都是通过json的数据格式从服务器传给客户端。所以我们只需要借助一些抓包工具,是手机与抓包工具连接,手机---》抓包工具---》服务器。这样我们就可以在这个过程中抓取数据。1.抓包工具的配置请参考https://mp.csdn.net/postedit/867560342.抓取当当网app环境配置...原创 2019-02-03 14:03:09 · 544 阅读 · 0 评论 -
from lxml import etree 中xpath中的坑
括号中的td[缩影] 这里的索引是从1开始的i.xpath('./td')[索引].text 这里的索引是从0开始的如果在程序中用到协程,记得协程里面是不能调试的原创 2019-01-29 22:30:19 · 815 阅读 · 0 评论 -
scrapy爬虫tools---------UserAgent | ip代理池
使用fakeuseragent pip install fake-useragentsettinf.py设置随机模式RANDOM_UA_TYPE = "random"from fake_useragent import UserAgentclass RandomUserAgentMiddlware(object): #随机更换user-agent def _...原创 2019-01-31 08:34:35 · 145 阅读 · 0 评论 -
使用cookie模拟登录用法之cookiejar 在urllib中的使用
# -*- coding: utf-8 -*-"""Created on Fri May 25 16:36:36 2018@author: Administrator"""from http import cookiejarfrom urllib import requestfrom urllib import parse# 创建一个Cookiejar对象cookie =...原创 2018-12-01 10:56:14 · 276 阅读 · 0 评论 -
python日志系统入门
# -*- coding: utf-8 -*-"""Created on Mon May 28 10:46:42 2018@author: Administrator"""# 日志import loggingimport sys# 创建日志的实例logger = logging.getLogger("testLogger")# 定制Logger的输出格式format...原创 2018-12-01 10:46:33 · 93 阅读 · 0 评论 -
post提交方式复习
四种常见的post提交数据方式http/1.1 协议规定http的请求方式有 OPTIONS,GET,HEAD,POST,PUT,DELETE,TRACE,CONNECT 这几种。其中post一般用来向服务端提交数据。我们知道,HTTP 协议是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范。规范把 HTTP 请求分为三个部分:状态行、请求头、消息主体。类似于下面这样:...原创 2018-11-06 23:12:01 · 144 阅读 · 0 评论 -
抓取ip代理
# -*- coding: utf-8 -*-__author__ = 'bobby'import requestsfrom scrapy.selector import Selector #scrapy自带的选择器import MySQLdb#数据库的链接conn = MySQLdb.connect(host="127.0.0.1", user="root", passwd="ro...原创 2018-11-18 16:07:32 · 293 阅读 · 0 评论 -
re.math() re.search() re.findall() 之间的区别
一。re正则表达式里面,常用的三种方法的区别。re.macth和search匹配得到的是match对象,findall得到的是一个列表。match从字符串开头开始匹配,search返回与正则表达式匹配的第一个子串,findall则返回所有匹配到的。如果要匹配的东西是字符串中唯一的只有一个或者直线那个取一个,最好不用findall,findall能匹配所有必然会查找整个字符串,searc...原创 2018-12-04 09:58:06 · 2004 阅读 · 0 评论 -
豆瓣爬虫中的一些注意事项
实现时所用的知识点1.创建进程池(加快爬去)和进程池队列(实现进程之间的通信)来完成抓取2.利用队列(这里用list代替)实现去重去重有两部分。一部分是在爬去前判断要怕去的url是否在以爬取的url队列里面;另一部分时当不在以爬取的队列中时,将其放入带爬取的队列时,判断是否在待爬取的队列中,再的话则丢弃。 3.使用队列模拟广度优先遍历实现url的爬取4.进程池是爬取url时...原创 2018-12-02 15:25:43 · 1525 阅读 · 1 评论 -
pyhton中双端队列
# -*- coding: utf-8 -*-"""Created on Tue May 29 16:33:10 2018@author: Administrator"""# queue# dequeimport collections#import threadingimport multiprocessingimport timecandle = collectio...原创 2018-12-02 15:28:46 · 91 阅读 · 0 评论 -
模拟登录知乎思路【代码过时,但代码思路很优秀】
# -*- coding: utf-8 -*-__author__ = 'bobby'import requeststry: import cookielibexcept: import http.cookiejar as cookielibimport resession = requests.session()session.cookies = cooki...原创 2018-12-04 13:43:01 · 148 阅读 · 0 评论 -
scrapy中模拟登录知乎【思路很优秀】
scrapy中实现模拟登录,重写start_requests(self)方法,因为这是整个爬虫的入口。注意方法的改写过程注意在scrapy中是怎样发送post请求的。# -*- coding: utf-8 -*-import reimport jsonimport datetimetry: import urlparse as parseexcept: f...原创 2018-12-04 13:46:54 · 254 阅读 · 0 评论 -
python线程之间的通行,进程之间的通信
python中存在三种队列Queue.Queue 是进程内非阻塞队列 multiprocess.Queue 是跨进程通信队列前者是各自进程私有, 后者是各子进程共有.Manager 是 multiprocessing 的封装 .Manager.Queue 和 Queue, multiprocessing.Queue 没有太大关系1.线程之间的通信 如果各个线程之间各...原创 2018-12-02 15:56:18 · 2329 阅读 · 0 评论 -
python中Queue的坑 阻塞
python 中,队列是线程间最常用的交换数据的形式。Queue模块是提供队列操作的模块,虽然简单易用,但是不小心的话,还是会出现一些意外。1. 阻塞模式导致数据污染import Queue q = Queue.Queue(10) for i in range(10): myData = 'A' q....原创 2018-12-02 16:07:16 · 13659 阅读 · 6 评论 -
正则表达式中的分组() ----填坑
import restring="abcdefg acbdgef abcdgfe cadbgfe"#带括号与不带括号的区别#不带括号regex=re.compile("((\w+)\s+\w+)")print(regex.findall(string))#输出:[('abcdefg acbdgef', 'abcdefg'), ('abcdgfe cadbgfe', 'a...翻译 2018-11-30 11:19:49 · 488 阅读 · 0 评论 -
python3执行javaScript脚本,js2py教程
简介:js2py安装库现在写爬虫很多的网站都开始用js 加密技术了,所以这个库必须要学的,不然你就没法玩了使用教程js2py 执行单个语句js2py 执行函数总结:现在写爬虫很多的网站都开始用js 加密技术了,所以这个库必须要学 ...js2py安装库现在写爬虫很多的网站都开始用js 加密技术了,所以这个库必须要学的,不然你就没法玩了pip install js2py1.使用...原创 2018-12-04 19:46:44 · 1268 阅读 · 0 评论 -
xpath的contains用法
xpath('//div[contains(@class,"a") and contains(@class,"b")]') #它会取class含有有a和b的元素xpath('//div[contains(@class,"a") or contains(@class,"b")]') #它会取class 含有 a 或者 b满足时,或者同时满足时的元素 starts-with 顾名思义,匹配一...原创 2019-02-22 22:25:16 · 53827 阅读 · 2 评论