Python爬虫实战(九):爬取动态网页

举报
悦来客栈的老板 发表于 2020/12/28 23:12:59 2020/12/28
【摘要】 #coding=utf-8 import reimport jsonimport requestsfrom prettytable import PrettyTable def getHtml(url): data = { 'page':1, 'num':40, 'sort':'symbol', 'asc':1, 'node':'cyb', 'symbol':'', '_s_...

  
  1. #coding=utf-8
  2. import re
  3. import json
  4. import requests
  5. from prettytable import PrettyTable
  6. def getHtml(url):
  7. data = {
  8. 'page':1,
  9. 'num':40,
  10. 'sort':'symbol',
  11. 'asc':1,
  12. 'node':'cyb',
  13. 'symbol':'',
  14. '_s_r_a':'page'}
  15. headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0'}
  16. try:
  17. page = requests.post(url,data = data,headers = headers)
  18. page.encoding = 'gbk'
  19. html = page.text
  20. return html
  21. except:
  22. return ""
  23. def getdata(html):
  24. data = html.replace(':','":')
  25. data = data.replace(',',',"')
  26. data = data.replace('{','{"')
  27. data = data.replace('"{','{')
  28. data = re.sub('\d+":\d+":\d+','',data)
  29. data = json.loads(data)
  30. row = PrettyTable()
  31. row.field_names = ["代码", "名称", "最新价", "涨跌额","涨跌幅","买入","卖出","昨收","今开","最高"
  32. ,"最低","成交量/手","成交额/万"]
  33. for item in data:
  34. row.add_row((item['symbol'],item['name'],item['trade'],item['pricechange'],item['changepercent']
  35. ,item['buy'],item['sell'],item['settlement'],item['open'],item['high']
  36. ,item['low'],item['volume'],item['amount']))
  37. print(row)
  38. if __name__=='__main__':
  39. url = 'http://vip.stock.finance.sina.com.cn/quotes_service/api/json_v2.php/Market_Center.getHQNodeData?'
  40. html = getHtml(url)
  41. getdata(html)
  42. #coding=utf-8
  43. import re
  44. import json
  45. import requests
  46. from prettytable import PrettyTable
  47. def getHtml(url):
  48.      data = {
  49.         'page.pageNo':2,
  50.         'tempPageSize':40,
  51.         }
  52.      headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0'}
  53.      page = requests.post(url,headers = headers,data = data)  
  54.      html = page.text
  55.      print (html)
  56. if __name__=='__main__':
  57.     url = 'http://datacenter.mep.gov.cn:8099/ths-report/report!list.action?xmlname=1465594312346'
  58.     getHtml(url)

文章来源: blog.csdn.net,作者:悦来客栈的老板,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq523176585/article/details/78388934

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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