通常我们需要在网站中搜索得到我们需要的信息,这里分为二种情况:
第一种 直接改变网址就可以得到你想要搜索的页面:
def GetWebPage( x ): #我们定义一个获取页面的函数,x 是用于呈递你在页面中搜索的内容的参数
url = ‘http://xxxxx/xxx.cgi?&’ + ‘你想要搜索的参数’ # 结合自己页面情况适当修改
page = urllib2.urlopen(url)
pageContent = page.read( )
return pageContent #返回的是HTML格式的页面信息
第二种 post方法,将你搜索的内容放在postdata里面,然后返回你需要的页面
def GetWebPage( x ): #我们定义一个获取页面的函数,x 是用于呈递你在页面中搜索的内容的参数 url =
‘http://xxxxx/xxx’ #这个网址是你进入搜索界面的网址
postData = urllib.urlencode( { 各种‘post’参数输入 } ) #这里面的post参数输入需要自己去查
req= urllib2.Request (url, postData)
pageContent = urllib2.urlopen (req). read( )
return pageContent #返回的是HTML格式的页面信息
在获取了我们需要的网页信息之后,我们需要从获得的网页中进一步获取我们需要的信息,这里我推荐使用 BeautifulSoup 这个模块,
python自带的没有,可以自行百度谷歌下载安装。 BeautifulSoup
翻译就是‘美味的汤’,你需要做的是从一锅汤里面找到你喜欢吃的东西。
import re # 正则表达式,用于匹配字符 from bs4 import BeautifulSoup #
导入BeautifulSoup 模块 soup = BeautifulSoup(pageContent)
#pageContent就是上面我们搜索得到的页面 soup就是 HTML 中所有的标签(tag)BeautifulSoup处理格式化后的字符串,一个标准的tag形式为: hwkobe24
爬虫流程
其实把网络爬虫抽象开来看,它无外乎包含如下几个步骤
- 模拟请求网页。模拟浏览器,打开目标网站。
- 获取数据。打开网站之后,就可以自动化的获取我们所需要的网站数据。
- 保存数据。拿到数据之后,需要持久化到本地文件或者数据库等存储设备中。
那么我们该如何使用 Python 来编写自己的爬虫程序呢,在这里我要重点介绍一个 Python 库:
Requests
Requests 使用
Requests 库是 Python 中发起 HTTP 请求的库,使用非常方便简单。
模拟发送 HTTP 请求
发送 GET 请求
当我们用浏览器打开豆瓣首页时,其实发送的最原始的请求就是 GET 请求
import requests
res = requests.get(‘http://www.douban.com’)
print(res)
print(type(res))
<Response [200]>
<class ‘requests.models.Response’>