Python爬虫实战(十一):两种简单的方法爬取动态网页

举报
悦来客栈的老板 发表于 2020/12/29 00:27:03 2020/12/29
【摘要】 #一网页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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。