1. 最基本的抓取
(1)抓取大多数情况属于get请求,即直接从对方服务器上获取数据。
首先,Python中自带urllib及urllib2这两个模块,基本上能满足一般的页面抓取。另外,requests也是非常有用的包,与此类似的,还有httplib2等等。
import requests url = "https://www.baidu.com/" response = requests.get(url) content = response.content headers = response.headers print("headers:",headers) print("content:",content)
(2)此外,对于带有查询字段的url,get请求一般会将来请求的数据附在url之后,以?分割url和传输数据,多个参数用&连接。
data = {'data1':'XXXXX', 'data2':'XXXXX'} Requests:data为dict,json import requests response = requests.get(url=url, params=data)
2. 对于登陆情况的处理
2.1 使用表单登陆
data = {'data1':'XXXXX', 'data2':'XXXXX'} Requests:data为dict,json import requests response = requests.get(url=url, params=data) Urllib2:data为string import urllib, urllib2 data = urllib.urlencode(data) full_url = url+'?'+data response = urllib2.urlopen(full_url)