当前位置: 首页 > news >正文

海口网站制作推广网站建设套用模板

海口网站制作推广,网站建设套用模板,html网页编辑器下载,哪些免费的网站可以做企业宣传大家好#xff0c;我是东眠的鱼#xff0c;专注原创#xff0c;致力于用浅显易懂的语言分享爬虫、数据分析及可视化等干货#xff0c;希望人人都能学到新知识。文末附带精品籽料哦#xff0c;也可以和博主一起学Python呀#xff01; 项目背景 有同学自学爬虫时…大家好我是东眠的鱼专注原创致力于用浅显易懂的语言分享爬虫、数据分析及可视化等干货希望人人都能学到新知识。文末附带精品籽料哦也可以和博主一起学Python呀 项目背景 有同学自学爬虫时发现翻页的时候url一直不变。其实他爬取的是较高难度的网页——动态网页。今天给大家介绍动态网页的爬虫! AJAX动态加载网页 一、什么是动态网页 所谓的动态网页是指跟静态网页相对的一种网页编程技术。静态网页随着html代码的生成页面的内容和显示效果就基本上不会发生变化了——除非你修改页面代码。而动态网页则不然页面代码虽然没有变但是显示的内容却是可以随着时间、环境或者数据库操作的结果而发生改变的。——来源百度百科 动态网页具有减少工作量、内容更新快、可完成功能多等特点被很多公司所采用比如狗东、某宝、某瓣、某乎等等。 二、什么是AJAX 随着人们对动态网页加载速度的要求越来越高AJAX技术应运而生并成为许多站点的首选。AJAX是一种用于创建快速动态网页的技术通过在后台与服务器进行少量数据交换使网页实现异步更新。这意味着在不重新加载整个网页的情况下可以对网页的某部分进行更新。 三、如何爬取AJAX动态加载网页 1. 解析接口 只要是有数据发送过来那肯定是有发送到服务器的请求的吧。我们只需找出它悄悄加载出的页面的真实请求即可。特点爬取速度快爬取的数据干净有些网站解析难度较大。 2. Selenium selenium是什么呢它本来是个自动化测试工具但是被广泛的用户拿去爬虫了。它是一个工具这个工具可以用代码操作浏览器比如控制浏览器的下滑、模拟鼠标点击等。特点代码较简单爬取速度慢容易被封ip。 项目实操 怎么说了那么多理论说实话也不想那么啰嗦。可是吧这些东西经常会被问到干脆直接写下来下次还有人问就直接把这篇文章发给他一劳永逸 我们拿一个法院信息公示网页举例 那我们就开启爬虫的正确姿势吧先用解析接口的方法来写爬虫。 首先找到真实请求。右键检查点击Network选中XHR刷新网页选择Name列表中的jsp文件。没错就这么简单真实请求就藏在里面。 ‍ 我们再仔细看看这个jsp这简直是个宝啊。有真实请求url有请求方法post有Headers还有Form Data而From Data表示给url传递的参数通过改变参数咱们就可以获得数据 我们再仔细看看这些参数pagesnum参数不就是代表页数嘛我们尝试点击翻页发现只有pagesnum参数会变化。 既然发现了它那就赶紧抓住它。打开PyCharm导入了爬虫所需的库。 1from urllib.parse import urlencode 2import csv 3import random 4import requests 5import traceback 6from time import sleep 7from lxml import etree #lxml为第三方网页解析库强大且速度快 构造真实请求添加Headers。 1base_url http://www.hshfy.sh.cn/shfy/gweb2017/ktgg_search_content.jsp? #这里要换成对应Ajax请求中的链接 2 3headers { 4 Connection: keep-alive, 5 Accept: */*, 6 X-Requested-With: XMLHttpRequest, 7 User-Agent: 你的User-Agent, 8 Origin: http://www.hshfy.sh.cn, 9 Referer: http://www.hshfy.sh.cn/shfy/gweb2017/ktgg_search.jsp?zdsplc, 10 Accept-Language: zh-CN,zh;q0.9, 11 Content-Type: application/x-www-form-urlencoded, 12 Cookie: 你的Cookie 13}构建get_page函数自变量为page也就是页数。以字典类型创建表单data用post方式去请求网页数据。这里要注意要对返回的数据解码编码为’gbk’否则返回的数据会乱码另外我还加了异常处理优化了下以防意外发生。 1def get_page(page): 2 n 3 3 while True: 4 try: 5 sleep(random.uniform(1, 2)) # 随机出现1-2之间的数包含小数 6 data { 7 yzm: yxAH, 8 ft:, 9 ktrqks: 2020-05-22, 10 ktrqjs: 2020-06-22, 11 spc:, 12 yg:, 13 bg:, 14 ah:, 15 pagesnum: page 16 } 17 url base_url urlencode(data) 18 print(url) 19 try: 20 response requests.request(POST,url, headers headers) 21 #print(response) 22 if response.status_code 200: 23 re response.content.decode(gbk) 24 # print(re) 25 return re # 解析内容 26 except requests.ConnectionError as e: 27 print(Error, e.args) # 输出异常信息 28 except (TimeoutError, Exception): 29 n - 1 30 if n 0: 31 print(请求3次均失败放弃此url请求,检查请求条件) 32 return 33 else: 34 print(请求失败重新请求) 35 continue构建parse_page函数对返回的网页数据进行解析用Xpath提取所有字段内容保存为csv格式。有人会问为这么喜欢用Xpath因为简单好用啊 1def parse_page(html): 2 try: 3 parse etree.HTML(html) # 解析网页 4 items parse.xpath(//*[idreport]/tbody/tr) 5 for item in items[1:]: 6 item { 7 a: .join(item.xpath(./td[1]/font/text())).strip(), 8 b: .join(item.xpath(./td[2]/font/text())).strip(), 9 c: .join(item.xpath(./td[3]/text())).strip(), 10 d: .join(item.xpath(./td[4]/text())).strip(), 11 e: .join(item.xpath(./td[5]/text())).strip(), 12 f: .join(item.xpath(./td[6]/div/text())).strip(), 13 g: .join(item.xpath(./td[7]/div/text())).strip(), 14 h: .join(item.xpath(./td[8]/text())).strip(), 15 i: .join(item.xpath(./td[9]/text())).strip() 16 } 17 #print(item) 18 try: 19 with open(./law.csv, a, encodingutf_8_sig, newline) as fp: 20 # a为追加模式添加 21 # utf_8_sig格式导出csv不乱码 22 fieldnames [a, b, c, d, e,f,g,h,i] 23 writer csv.DictWriter(fp,fieldnames) 24 writer.writerow(item) 25 except Exception: 26 print(traceback.print_exc()) #代替print e 来输出详细的异常信息 27 except Exception: 28 print(traceback.print_exc())最后遍历一下页数调用一下函数。OK搞定 1 for page in range(1,5): #这里设置想要爬取的页数 2 html get_page(page) 3 #print(html) 4 print(第 str(page) 页提取完成) 我们来看一下最终效果 结 语 总结一下对于AJAX动态加载网页爬虫一般就两种方式解析接口Selenium。这次就先介绍了解析接口方式个人还是推荐解析接口的方式如果解析的是json数据就更好爬了。实在没办法了再用Selenium吧。 最后 如果你对Python感兴趣的话可以试试我整理的这份Python全套学习资料【点击这里】领取 包括Python激活码安装包、Python web开发Python爬虫Python数据分析人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python ① Python所有方向的学习路线图清楚各个方向要学什么东西 ② 100多节Python课程视频涵盖必备基础、爬虫和数据分析 ③ 100多个Python实战案例学习不再是只会理论 ④ 华为出品独家Python漫画教程手机也能学习 ⑤ 历年互联网企业Python面试真题,复习时非常方便******
http://www.hkea.cn/news/14456549/

相关文章:

  • 商洛网站建设公司网络营销效果评估
  • 做网站分为哪几个岗位网站整站html
  • 网站互动推广网站三要素关键词 描述怎么做
  • 上海市建设合同信息表网站上海品牌建站
  • html5网站特点开发板英文
  • 建设银行首页 网站怎么把自己的网站推广
  • wordpress注册页模板wordpress后台优化
  • 杨浦网站建设公司济南建网站市场
  • 网站开发项目规划书潍坊微信网站
  • 威海网站开发一级a做爰片免费网站 小说
  • 主机开通成功网站正在建设中万能视频解析接口网站怎么做
  • 武义县住房和城乡建设局网站长沙装修公司口碑比较好的
  • 企业网站建设包括简约wordpress
  • 做图的兼职网站自己做免费网站吗
  • 洞头网站建设网站域名管理规范
  • 网站开发 指导江苏优化网站公司哪家好
  • 网站怎么做现场直播视频本地wordpress怎么弄网站
  • 企业工商注册查询衡水网站优化
  • 免费的网站推广怎么做效果好?时间轴网站代码
  • 构建网站的安全太原网页设计公司
  • 网站建设的开发程序国家免费职业技能培训
  • 手机网站搭建微信官方免费下载
  • 网站开发设计公司免费友情链接交换平台
  • iis网站后台登不进网站关键字
  • 网站设计登录界面怎么做东莞网站建设 熊掌号
  • 全部网站网站建设栏目添加
  • 网站建设开源程序国内网站主机
  • 建设部网站监理资质换证外贸人才网
  • 国外域名注册价格seo查询工具
  • 网站建设公司的前景天眼查询