Python简单爬虫示例
目标说明
目标站使用post参数做为分页参数,目标内容位于网页的Table中.
方案:
- Python版本使用Python3
- 使用urlib发送POST请求获取页面内容
- 使用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')