Python简单爬虫示例

mtain 2018年03月18日 896次浏览

Python简单爬虫示例

目标说明

目标站使用post参数做为分页参数,目标内容位于网页的Table中.

方案:

  1. Python版本使用Python3
  2. 使用urlib发送POST请求获取页面内容
  3. 使用PyQuery获取Table节点的内容,并每页内容追加写入文件

代码示例

#!/usr/bin/python3
# -*- coding: utf-8 -*-
import urllib.request
from pyquery import PyQuery as pq

url = 'http://xxxxxxxxx'

headers = {
    'User-Agent': 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
}


def saveTXT(txt):
	a=open('data.html', 'a')
	a.write(txt)
	a.close()

def doPost(page_num):
	values = {
    	'page': page_num,
	}

	data = urllib.parse.urlencode(values).encode('utf-8')

	request=urllib.request.Request(url, data, headers)
	try:
		html = urllib.request.urlopen(request).read().decode('utf-8')
		doc=pq(html)
		# 使用PyQuery选择Dom节点
		table=doc('#tableId')
		data=str(table)
		return data;
	except e:
	    print(page_num+'----->error')


if __name__ == '__main__':
	for page_num in range(1,100):
		data=doPost(page_num)
		saveTXT(data)
		print(str(page_num)+'----->ok')