Python爬虫实战(十一):两种简单的方法爬取动态网页
【摘要】 #一网页POST方式 #coding=utf-8 import requestsfrom bs4 import Tagfrom bs4 import BeautifulSoupfrom prettytable import PrettyTable def getHtml(url,pageNo): data = {#反复分析得出只需要提交这两个参数即可 'pag...
#一网页POST方式
#coding=utf-8
import requests
from bs4 import Tag
from bs4 import BeautifulSoup
from prettytable import PrettyTable
def getHtml(url,pageNo):
data = {#反复分析得出只需要提交这两个参数即可
'page.pageNo':pageNo, #页码
'tempPageSize':10, #每页显示条数
}
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0'} #伪装一下
page = requests.post(url,headers = headers,data = data) #POST方式提交
html = page.text
return html
def getData(html):
global row
get_text = Tag.get_text
soup = BeautifulSoup(html, 'html.parser')
for i in range(1,11):
info = []
texts = soup.find_all('td',rowid = str(i)) #分析查找的数据得出该方法
for text in texts:
info.append(text.get_text())
row.add_row (info)
if __name__=='__main__':
url = 'http://datacenter.mep.gov.cn:8099/ths-report/report!list.action?xmlname=1465594312346'
row = PrettyTable()
row.field_names = ['序号',"所属省份", "所属市(区、地、州)", "养殖场(小区)名称", "畜禽种类","数量(头羽)","COD排放量(mg/h)","NH3排放量(mg/h)","年份"]
for i in range(1,5): #只爬取5页的数据
html = getHtml(url,i)
getData(html)
print (row)
方式二:selenium爬取方式
文章来源: blog.csdn.net,作者:悦来客栈的老板,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/qq523176585/article/details/78471297
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)