python-单线程爬虫
2016-07-24 21:30
519 查看
1.正则表达式
1)基本概念import re
re.findall返回列表,不需要先进行compile,findall函数中调用了compile
re.search().group(0),找到一个后就不会再找了
re.sub 替换的功能
查找数字re.findall('(/d+)', s)
.* 贪心算法,匹配尽可能多的字符;
.*? 非贪心算法;
() 括号内是需要返回的内容;
. 匹配任意字符,'\n'除外,可以用re.S包括换行符;
? 和前面一样一个或0个字符;
* 和前面一样一个或多个字符.
2)应用举例
1 匹配多段内容
先大再小
2 实现换页
用sub,ps: python 中range包含前一个,不包含后一个(2,3)即为[2]
3)制作文本爬虫,一个简单的例子:将一个网页的html下下来之后,匹配其中的图片的链接,然后将图片down下来
import re import requests print (__name__) f = open('xxxx.html', 'r') html = f.read() f.close() # 匹配图片地址 pic_url = re.findall('img src"(.*?)" class=lessonimg', html, re.S) i = 0 for each in pic_url: print ("now downloading:") pic = requests.get(each) fp = open("D:\My test\python\test1\pic" + str(i) +'.jpg', 'wb') fp.write() fp.close() i += 1
2.requests的安装和介绍
完美的替代了python的urllib2模块。我在pycharm import之后发现是可以用的,不知道是pycharm安装了还是之前装过,路径在/python/lib/site-packages/request-2..py3.5.egg/requests/ 也可能是python3.5的特性。
安装方法 1)单文件安装,将文件拷贝到/lib/下 2)多文件安装 ,解压后进入模块文件夹,执行:python setup.py install 3)pip install requests 或者 python -m pip install XXX 4)easy_install ,多用pip
包含大多数python第三方文件的网站: http://www.lfd.uci.edu/~gohlke/pythonlibs/
3.第一个网页爬虫
# -*- coding:utf-8 -*- import re import requests # 获取网站源代码,有的网站限制了只能浏览器访问,需要修改我们访问的headers,在要访问的网页中可以用审查元素找到 # headers = {User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36} # html = requests.get('http://tieba.baidu.com', headers=headers) html = requests.get('http://tieba.baidu.com') image_name = re.findall('img_title">(.*?)</p>', html.text, re.S) # 将图片的标题打印出来 for each in image_name: print each print html.text
4.向网页提交数据
get与post:get从服务器获取数据;post向服务器提交数据;get通过构造url的参数实现功能;post将数据放在header中
练习网站: http://www.crowdfunder.com,极客学院的视频这个网址还是用post方式进行换页的,现在换成了get的方式,why.....
5.实战-极客学院课程爬虫
将首页的前20页课程的名字,介绍,时间,等级,参加人数 爬取下来相关文章推荐
- python核心编程第十章练习
- python中的json解析
- Python修改文件内容
- python request属性及方法说明
- 习题20 函数和文件
- 利用python进行哈工程教务系统中的绩点计算
- Python的pip安装
- Python.Calling a JSON API
- 以写代学:python 格式化操作符
- python核心编程第九章练习
- Python安装及环境配置
- python之try-except语句
- python学习之开发小游戏---skier(滑雪的人)
- Python爬虫进阶三之Scrapy框架安装配置
- Python.Extracting Data from JSON
- python读取excel文件
- Python函数第四节
- python核心编程第八章练习
- python核心编程第七章练习
- Python学习笔记20:Python Web编程