爬虫
肥宅_Sean
在UCB,Stanford各做过一段时间的RA。去牛津访学过一段时间。
现在在某家头部量化当研究员。
个人站: https://seanquant.github.io/
展开
-
xpath如何得到【爬虫】
简述爬虫中经常使用到爬虫,但是一般来说,xpath算是一个非常好的定位元素的方式,但是如果每次都要自己推算的话,那实在是太复杂了。所幸,chrome解决了这个问题。演示gif先看个演示。文字描述看上面的gif就知道了,但是有些东西在gif上看不到,这里做下补充。出现弹出来的那个框,是通过鼠标右键弹出来的那个框的左上角(这里,我是点了下的),点完之后,我的鼠标触碰到的网页上,就会直...原创 2019-11-11 10:32:05 · 500 阅读 · 0 评论 -
爬取CSDN最新月份所写的文章的最高阅读量文章(以及统计整个月所写的文章的阅读量的累积和)
项目简述所用工具:python 3 统计中,在最下面的主函数中,url就是我们需要放的初始链接。 比如,我放的链接就是https://blog.csdn.net/a19990412/ 这个页面的具体效果,可以点击上面链接看到,也可以,直接看下面图片 大概就是这样的一个界面。然后只要把这个网页的url放到下面的函数中,就可以直接获取对应的url的信息(具体信息如题目所说)具体内容...原创 2018-05-21 18:52:22 · 1485 阅读 · 0 评论 -
查看网页服务器搭建方式(Python3)
通过方式 通过urllib.request.urlopen()返回的response对象中的getheader(‘Server’)这个函数进行实现。实例一>>> import urllib>>> import urllib.request>>> response = urllib.request.urlopen('http://w...原创 2018-05-15 22:11:08 · 286 阅读 · 0 评论 -
设置timeout限制在爬虫中的运用
设置timeout方法这个有很多种的,下面以urllib为例 下面选取的是网页是python官网不使用的timeout的情况>>> import urllib.request>>> response = urllib.request.urlopen('http://www.python.org')>>>>使用...原创 2018-05-15 22:28:58 · 15678 阅读 · 0 评论 -
urllib使用cookies(下载,提取)
urllib保存cookies文件一般来说,有两种文件表现格式。所对应在http库中的是MozillaCookieJar跟LWPCookieJar。区别主要体现在下载下来之后的内容上。urllib保存cookies文件获取的cookies文件cookies使用附录获取的cookies文件MozillaCookieJar(表示的Mozilla浏览器的Coo...原创 2018-05-16 20:12:24 · 1804 阅读 · 0 评论 -
爬取猫眼电影前100名(获取图片并记录名字跟排名)
简述代码实现上,这个可以说是不难的。但是需要注意的是,这里的有一些细节得注意一下。协程的,gevent.joinall() 需要的是一个可以迭代的对象,但是内容必须是gevent.spawn()这个类这里有些小东西,比如在network上得到的包的内的数据(也就是直接爬取得到的数据,其实不是完全的数据,会有一些对于源码的部分的修改)。这种修改导致一开始,如果是看着检查的话,就会有bug...原创 2018-06-14 21:43:36 · 2141 阅读 · 0 评论 -
bs4配合上re正则表达式
简述在看书的时候,看到有soup.find_all中text可以传进去一个正则表达式对应的来筛选。然后,就试试了下还能不能用其他的方法。除了上面的,可以通过传参数到text,来实现对于文本内容进行筛选,还有下面的这些操作先用下面的代码,然后有一个输出 代码from bs4 import BeautifulSoupimport redef gethtml(): wi...原创 2018-06-15 21:20:11 · 6088 阅读 · 0 评论 -
requests + pyquery爬取知乎发现首页
简述学习了崔神的代码。 然后自己手动敲了下,mark一下代码import requestsfrom pyquery import PyQuery as pqurl = 'https://www.zhihu.com/explore'headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) Apple...原创 2018-06-15 22:22:00 · 1751 阅读 · 0 评论 -
笔趣阁(www.qu.la)小说爬取代码(python实现)
import requestsimport osimport geventfrom gevent import monkeyimport randomimport refrom lxml import etreefrom bs4 import BeautifulSoupmonkey.patch_all(select=False)from urllib import parse...原创 2018-06-26 22:51:13 · 12423 阅读 · 0 评论 -
多协程爬取中大微博内容(以及转发数,点赞数,评论数)
这个是在之前的微博爬取(Python)–中大微博前100条微博内容以及评论转发点赞数目爬取 的并发版本代码import requestsfrom gevent import monkeyimport geventmonkey.patch_all(select=False)from pyquery import PyQuery as pqheaders = { '...原创 2018-06-20 10:08:28 · 5331 阅读 · 2 评论 -
QQ音乐爬取(python实现)
简述在网页版上听音乐,然后,捕捉到了网络上的包。 分析了一下,做了这个东西。下面的爬虫,会爬取到 汪峰的《当我想你的时候》这首歌爬虫练练手哈哈 命名的格式为mp4,我这个是看对应相应包得到的。代码import requestsheaders = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) Apple...原创 2018-07-11 21:32:34 · 2958 阅读 · 2 评论 -
selenium选中某个控件敲击键盘
代码code是先通过代码定位到的一个控件from selenium.webdriver.common.keys import Keyscode.send_keys(Keys.CONTROL, 'v')输入的命令为ctrl+v原创 2018-10-07 08:43:02 · 628 阅读 · 0 评论 -
【修改版】10行代码爬取A股上市公司信息
简述前几天在网上看了一份代码,非常认真地学习了一波。对于一些瑕疵做了修改。旧版本的问题下载下来的文件每隔20行就出现一个column然后下载次数较多的话,会被别人给禁一会之前的代码真的是10行。。新版本中修复了这样的bugimport pandas as pdimport requestsimport randomurl = 'http://s.askci.com/st...原创 2018-10-09 15:02:25 · 2148 阅读 · 0 评论 -
爬取某一微博用户所有文本文件或者是视频图片文件
简述爬取所有的中大微博的信息。包括文本文件和视频文件,亦或是是图片文件。代码实现from gevent import monkeyimport geventmonkey.patch_all(select=False)import seleniumfrom selenium import webdriverimport timefrom selenium.webdriver.co...原创 2018-10-26 15:33:46 · 1869 阅读 · 0 评论 -
多进程爬虫(爬取小说)Python实现
区别于之前用多协程写的爬虫版本 多协程爬取小说 这个版本,开销会比较大。效率上也不一定有之前的高 不过,总体上还是很不错的~问题分析这个版本,还有之前的版本都一样,还存在问题,就是在下载好了文件之后,我们这里是会先打包成每个章节的小说,再通过一个脚本来,将这些章节整合起来,放到了小说文件中。但是,实际上,这样反反复复地写文件,删除文件,是非常耗时间的。 如果信息,都是直接存在内...原创 2018-04-28 11:12:25 · 1839 阅读 · 0 评论 -
【requests】Python轻松爬取FTP
前言requests这么强大,但是直接用requests.get()去操作ftp协议的url时候,就是没有办法处理。这里介绍一个国外的小哥做的库,超级赞! 叫做requests_ftp。结合requests使用就可以爬取ftp协议的url了。代码解释: 下面代码中有些需要修改url的地址可以写成ftp链接Username那里可以换成用户名Password那里换成密码...原创 2018-05-17 23:21:04 · 6924 阅读 · 5 评论 -
Python动态网页爬虫技巧Selenium(一)
implicitly_wait() 跟 WebdriverWait()的区别相同点: 这两个东西,都是为了在测试网页的时候进行等待的一方面是都可以完成对于动态数据的等待和爬取。(都是一旦完成就直接溜掉~)不同点: 前者是隐式等待,后者是显式等待。可能有人要问区别了。区别很简单。implicityly_wait()只需要使用一次,之后关于这个DOM文档树(好像是这个中文),中的任何一...原创 2018-02-08 17:34:15 · 476 阅读 · 0 评论 -
Python通过一个网页地址获得网页标题Title
代码在下面,就算标题是中文都是可以解析出来的。(换用别的网站的时候,就改写下url)import requestsfrom bs4 import BeautifulSoupres = requests.get("http://www.baidu.com")res.encoding = 'utf-8' # soup = BeautifulSoup(res.text, 'lxml')p...原创 2018-02-12 13:14:57 · 14986 阅读 · 0 评论 -
爬虫为什么用Chrome?
为什么爬虫要用Chrome?为什么大家似乎都值得header应该怎么写?为什么大家都知道怎么爬取网页的路线?为什么…. 如果你也跟我一样,有过上面类似的疑问,那么我觉得,这篇文章你可能值得看一下。水平有限,如果有差错还望指出。用Chrome很容易看到网页的源码 轻松右键 -> 检查 就可以看到这个源代码 检查中还可以看网页从服务器上不断加载包 虽然一开始我们点开...原创 2018-02-08 18:50:35 · 1439 阅读 · 0 评论 -
爬取小说1--高并发
爬取《放开那个女巫》小说还是采用高并发的协程来进行开启下载。其实,到现在为止,会了并发技术之后,诸多爬虫比较的,已经不再是用什么库,之类的问题了。 而是,开始研究爬虫的策略问题了。比如,这里,我的策略就是,要保证每一章必须要爬取到,否则就要接着等下去。(每次爬取200章,然后必须要等所有的都已经爬取完成之后才开始合并,之后再接着爬取接下来的200章。这个策略虽然保证的健壮性,但是在速...原创 2018-03-10 23:50:54 · 461 阅读 · 0 评论 -
爬取中大官网(一)
打开中大官网网页,开始进行爬虫。 想要爬取新闻的链接。 但是用下面的代码的时候出现了问题了。from urllib.request import urlopenfrom bs4 import BeautifulSoupif __name__ == '__main__': url = 'http://www.sysu.edu.cn/2012/cn/index.htm'...原创 2018-03-17 19:28:22 · 718 阅读 · 0 评论 -
Python爬虫,通过特定的函数来筛选标签
这个倒是很新奇,我一直都没想到可以这么玩。 不过确实有趣~ 这是在看书的时候,无意之中看到的源码。通过Soup元素的findAll函数 注意,这里,finfAll是函数(function),不是方法(method)from urllib.request import urlopenfrom bs4 import BeautifulSoupif __name__ == '__mai...原创 2018-03-17 20:07:56 · 2193 阅读 · 1 评论 -
Python模拟登录详细教程!
这个我是先在我的公众号上发的,所以,可以点击下面这个链接访问我之前做好的公众号推文吧!公众号推文,点击访问下面就展示下,我根据之前在公众号上的推文,改良版的新代码吧! 虽然下面的网址,是只能在中山大学校园内,才能访问(挂上VPN也可以)。但是,模拟登录的思路以及方法都是一样的。 输入用户名跟密码,就会登录上你的soj,并输出的个人目前刷完的所有题目编号。import reque...原创 2018-03-24 15:38:24 · 16663 阅读 · 2 评论 -
爬取广州所有停车场数据(Python)(并行加速版本)
之前做过这个的单进程版本。这次使用多进程来实现~ 爬取广州所有停车场数据(Python)大家可以对比着看一下,在原来的单进程爬虫的基础进行改进而得到的产品。import requestsimport osimport jsonimport multiprocessingimport timedef getAllJson(Session, data, headers): ...原创 2018-04-15 10:54:45 · 1680 阅读 · 1 评论 -
爬取链家二手房前100页标签,进行统计
参加了一个数据分析的小团队。(学校同学间的)需要一个统计数据,这里拿的是所有链家上 二手房的标签。 比较粗糙。 如果是出现有“距离”的话,我就认为是地铁,其实这是合理的。 具体的,大家可以分析下对方网页的代码,找到原因。hhh使用python3。但是Python2的朋友也可以使用下面的代码。因为python2中也是有print()函数的。单线程。没有使用多线程。使用了...原创 2018-04-03 23:17:00 · 1019 阅读 · 0 评论 -
爬取广州所有停车场数据(Python)
目标地址 http://www.gzjt.gov.cn/gzjt/tcc/list_tt.shtml上面url是广州交通的地址。朋友想要我帮忙去抓到所有的广州停车场所在的详细地址。一开始去查这个网页的时候,感觉还是很迷惑的。因为是动态网页,所以我得先捕捉漏洞。然后,通过漏洞去抓到对应的数据有关的地址。经过大概十几分钟,比较幸运,找到了对应的漏洞。(个人猜测,可能是因为是政府网站,所以,...原创 2018-04-05 20:31:23 · 3015 阅读 · 1 评论 -
爬取小说2--协程间通信Python
通过Python进行协程间通信,大大加速爬取效率。前言是这样的,在之前的爬虫版本中,我们通过并发技术(python协程只是并发)。实现快速爬取小说的效果。 将速度提高为原来的几百倍了。但是却由于之前的多协程之间的通信,都是采用写入硬盘之后,再相互通信来实现的,所以,速度上还是存在一定的缺陷。最新在最新的版本中,我们采用多协程技术,采用在内存通信,这样来传递爬取的数据,之后,再来组...原创 2018-04-30 15:00:56 · 1768 阅读 · 0 评论 -
【多进程并行版本】爬取链家二手房前100页标签,进行统计
前言python在进程间通信会比较麻烦~ 要注意,这里我们想到的时候多个进程一起维护一个字典。 所以,我加了锁。这里还是存在一个可能的改进方法,就是考察你的锁加在哪个位置来判断。 旧的单进程版本代码一:用时: 10.798075914382935秒 看了三千个网页的样子。还算不错的啦。但是还是想要跟好的优化~import requestsfrom bs4 import...原创 2018-04-21 14:02:23 · 654 阅读 · 0 评论 -
知乎发现页面抓取(只改User-Agent爬虫)
代码解释: 1. 这里设置的User-Agent其实是一个macbook上使用的版本。 2. 这里被注释掉的语句是我在书上看到的。捕捉到的内容不一样而已~(大家也可以看看)import requestsimport reheaders = { 'User-Agent': 'Mozilla/5.0(Macintosh; Intel Mac OS X 10_11_4) App...原创 2018-05-17 22:28:35 · 1928 阅读 · 4 评论 -
【解决方案】requests.exceptions.SSLError: HTTPSConnectionPool
前提有些网页,一开始用脚本语言(python)去访问的时候会遇到这样问题。 一般这样的网站用浏览器去访问的时候,会弹出这样的警告“您的链接不是私密链接”。 内容大多出自于崔大神书籍。本菜结合书中内容做了自己的阐述。简单解释这里是由于这个网页的证书没有被官方CA机构信任,所以这里会出现证书验证的错误。 这样的url典型有https://www.12306.cn如下使用代...原创 2018-05-17 22:46:30 · 76665 阅读 · 28 评论 -
Python爬取Json格式数据并读写(改中文编码)
Python Json文件读写经过测试发现,req.json()返回的类型是dict(字典类型)如果有兴趣的话,可以再加一个正则表达式来筛选出url的关键名字,用关键名来做文件名。import requestsimport jsondef writeinjson(url, headers): req = requests.get(url, headers=heade...原创 2018-02-08 22:47:33 · 6430 阅读 · 0 评论