python3.6写爬虫——从入门到精通
从基础的爬虫知识体系和urllib2库基本使用到urllib2高级用法以及正则与lxml解析库再到多线程爬虫和Selenium+PhantomJS再到scrapy框架的使用,本专栏将记录python爬虫的整个学习历程,从入门到精通!
wangbowj123
炼丹中。
展开
-
python3爬虫初步——http请求头部的构造
利用python3写爬虫,因为python3已经没有了urllib2,仅有urllib,区别就在于urllib2相当于urllib.request,调用urllib2的方法时可以通过urllib.request调用。 爬取百度首页时,收集到消息之后要对信息进行解码,发现编码方式为gb2312,运用decode方法进行解码,得到首页源代码。 关于http请求头信息,推荐使用浏览器插件Switch原创 2018-01-21 15:06:43 · 19763 阅读 · 5 评论 -
python3爬取指定百度贴吧页面并保存成本地文档(批量爬取贴吧页面数据)
首先我们创建一个python文件, tieba.py,我们要完成的是,输入指定百度贴吧名字与指定页面范围之后爬取页面html代码,我们首先观察贴吧url的规律,比如:百度贴吧LOL吧第一页:http://tieba.baidu.com/f?kw=lol&ie=utf-8&pn=0第二页: http://tieba.baidu.com/f?kw=lol&ie=utf-8&pn=50第三页:原创 2018-01-21 22:31:55 · 2022 阅读 · 0 评论 -
python3爬取豆瓣电影Ajax(获取动态内容)
利用python3中的urllib模块对豆瓣电影的“喜剧片”进行爬取。因为是动态页面,我们关注点应在数据来源上,我们知道所有Ajax数据来源都是json,通过Fiddler抓包工具,我们可以获取相应json数据,提取出相应url,以及post请求的QueryString,之后便可以进行代码的编写。 代码如下:# -*- coding:utf-8 -*-from urllib impor原创 2018-01-22 21:11:42 · 2012 阅读 · 0 评论 -
python3通过CookieJar与urllib模拟登陆人人网
人人网有一个登陆用的接口http://www.renren.com/PLogin.do,该接口仅需要提交一个包含用户名和密码post表单再利用cookie的相关处理方法便可以模拟登陆。(不知道为什么还有这种接口存在) 具体代码、实现流程如下:# -*- coding:utf-8 -*-from urllib import request as urllib2from urllib imp原创 2018-01-23 16:50:22 · 1655 阅读 · 1 评论 -
scrapy实战——利用CrawlSpider爬取腾讯社招全部岗位信息(进行有一定深度的爬取)
经过scrapy的简单学习,我们实现这样一个爬虫:爬取腾讯社招的全部岗位信息,将粗略的大致信息保存在tencent.json文件中,将岗位的进一步具体信息(职责、要求)保存在positiondescribe.json文件中。 即,我们需要两个item进行页面信息的保存,同时要继承CrawlSpider对页面链接进行相应提取。 项目目录如下:(创建名为TencntSpider的项目)Tenc原创 2018-01-30 16:29:53 · 2303 阅读 · 2 评论 -
python3利用正则表达式爬取内涵段子
似乎正则在爬虫中用的不是很广泛,但是也是基本功需要我们去掌握。 先将内涵段子网页爬取下来,之后利用正则进行匹配,匹配完成后将匹配的段子写入文本文档内。代码如下:# -*- coding:utf-8 -*-from urllib import request as urllib2import re# 利用正则表达式爬取内涵段子url = r'http://www.neihanpa.原创 2018-01-24 13:21:29 · 1182 阅读 · 0 评论 -
python3利用xpath爬取糗事百科数据并保存为json
利用xpath爬取糗事百科的数据,关键在于对xpath的使用,可以用浏览器插件对xpath做相应的对照。 我的处理方法是提取出来相对比较有“概括性”的父节点,然后通过父节点对爬取的页面进行解析得到子节点集,之后再利用for循环遍历节点集,从而再利用子节点提取出用户名、用户发表的段子、点赞数、评论数、帖子包含的图片。最后将其存储在字典里写入json文件。# -*- coding:utf-8 -原创 2018-01-25 20:10:23 · 1588 阅读 · 0 评论 -
python3多线程爬虫爬取某美女图片网站的指定页图片资源,你懂的
Queue(队列对象)queue是python3中的标准库,可以直接import queue引用;队列是线程间最常用的交换数据的形式。python下多线程的思考对于资源,加锁是个重要的环节。因为python原生的list,dict等,都是not thread safe的。而queue,是线程安全的,因此在满足使用条件下,建议使用队列1. 初始化: class Queue.Queue原创 2018-01-26 16:22:29 · 12236 阅读 · 0 评论 -
解决python3.6下scrapy中xpath.extract()匹配出来的内容转成json与.csv文件没有编码(unicode)的问题
初学scrapy,利用xpath对网页结构进行匹配,写的parse函数如下: def parse(self, response): teacherList = response.xpath('//div[@class="li_txt"]') teacherItem = [] for node in teacherList:原创 2018-01-27 13:09:13 · 2284 阅读 · 1 评论