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

成都网站建设联系电话photoshop破解版下载免费中文版

成都网站建设联系电话,photoshop破解版下载免费中文版,河南智慧团建网站登录,网站搭建修改收费依据python爬虫7#xff1a;实战1 前言 ​ python实现网络爬虫非常简单#xff0c;只需要掌握一定的基础知识和一定的库使用技巧即可。本系列目标旨在梳理相关知识点#xff0c;方便以后复习。 申明 ​ 本系列所涉及的代码仅用于个人研究与讨论#xff0c;并不会对网站产生不好…python爬虫7实战1 前言 ​ python实现网络爬虫非常简单只需要掌握一定的基础知识和一定的库使用技巧即可。本系列目标旨在梳理相关知识点方便以后复习。 申明 ​ 本系列所涉及的代码仅用于个人研究与讨论并不会对网站产生不好影响。 目录结构 文章目录 python爬虫7实战11. 目标2. 详细流程2.1 找到目标小说2.2 获取小说章节目录2.3 获取小说内容2.4 完整代码 3. 总结 1. 目标 ​ 这次爬虫实战采用的库为requests lxml这次以爬取一部小说为目标具体的网站老规矩就不给了大家学习思路最重要。 ​ 再次说明案例本身并不重要重要的是如何去使用和分析另外为了避免侵权之类的问题我不会放涉及到网站的图片希望能理解。 2. 详细流程 2.1 找到目标小说 第一步确定get请求的url ​ 假设我们的网站为https://xxxxxxx.com那么我们首先需要找到搜索框然后随意搜索几本小说比如这里我搜索的是圣墟、万族之劫那么观察网页上的url变化如下 https://xxxxx?q圣墟 https://xxxxx?q万族之劫​ 可以看出这里是get请求并且参数名为q。 第二步正确请求网页 ​ 我们可以写下第一个代码了目标是获取想要的小说代码如下 # 都要用到的参数 HEADERS {User-Agent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36, }# 获取搜索某小说后的页面 def get_search_result():# 网址url xxxxx# 请求参数search input(请输入想要搜索的小说)params {q : search}# 请求response requests.get(url,headersHEADERS,paramsparams)# 把获取到的网页保存到本地with open(search.html,w,encodingutf-8) as f:f.write(response.content.decode(utf-8))​ 结果如下 ​ 可以看出获取到正确的网页说明这一步我们完成了。 正确解析网页以获取小说链接 ​ 上面我们已经把网页源码存放到了本地一个名为search.html的文件下面我们来解析它。 ​ 解析它首先需要明确我们要获取什么节点、什么值。看下面 ​ 可以看出我们的目标标签位于div[classmshow]下的table[classgrid]下的td下的a标签并且我们需要获取这个a标签的href属性和文本值。除此之外href属性值只是部分地址需要跟网站根地址xxxx.com拼凑再一起。 ​ 基于此可以完成代码 # 解析网页 def parse_search_result():# 打开文件读取文件with open(search.html,r,encodingutf-8) as f:content f.read()# 基础urlbase_url xxxxxx.com/# 初始化lxmlhtml etree.HTML(content)# 获取目标节点href_list html.xpath(//div[classshow]//table[classgrid]//td//a/href)text_list html.xpath(//div[classshow]//table[classgrid]//td//a/text())# 处理内容值url_list [base_urlhref for href in href_list]# 选择要爬取的小说for i,text in enumerate(text_list):print(当前小说名为,text)decision input(是否爬取它只能选择一本,Y/N)if decision Y:return url_list[i],text​ 运行结果如下 2.2 获取小说章节目录 第一步请求页面 ​ 首先我们去请求上面获取的网页这里就比较简单了基本上把上面的请求代码拷贝过来修改修改即可 # 请求目标小说网站 def get_target_book(url):# 请求response requests.get(url,headersHEADERS)# 保存源码with open(book.html,w,encodingutf-8) as f:f.write(response.content.decode(utf-8))​ 可以看到保存到本地的结果如下 ​ 可以看出这一步成功了。 第二步解析上面的网页获取不同章节的链接 ​ 这一步主要的难点在于解析网页首先看下面 ​ 由于该网页小说章节都分为两个部位第一个为最新章节第二个为全部章节而第二个才是我们需要获取的因此xpath语法应该为 //div[classshow]//div[contains(class,showBox) and position()3]//ul//a​ 那么可以完成代码如下 # 解析章节网页 def parse_chapter(base_url):# 打开文件读取内容with open(book.html,r,encodingutf-8) as f:content f.read()# 初始化html etree.HTML(content)# 解析href_list html.xpath(//div[classshow]//div[contains(class,showBox) and position()3]//ul//a/href)text_list html.xpath(//div[classshow]//div[contains(class,showBox) and position()3]//ul//a/text())# 处理拼凑出完整网页url_list [base_urlurl for url in href_list]# 返回结果return url_list,text_list​ 运行结果如下 2.3 获取小说内容 ​ 这里我们就不分开了直接获取源码后直接解析。那么这里说明一下解析原理看下面 ​ 可以轻松知道xpath语法 //div[contains(class,book)]//div[idcontent]//text()​ 那么代码如下 # 请求小说页面 def get_content(url,title):# 请求response requests.get(url,headersHEADERS)# 获取源码content response.content.decode(utf-8)# 初始化html etree.HTML(content)# 解析text_list html.xpath(//div[contains(class,book)]//div[idcontent]//text())# 后处理# 首先把第一个和最后一个的广告信息去掉text_list text_list[1:-1]# 其次把里面的空白字符和\xa0去掉text_list [text.strip().replace(\xa0,) for text in text_list]# 最后写入文件即可with open(title.txt,w,encodingutf-8) as g:for text in text_list:g.write(text\n)​ 运行结果如下 ​ 可以看出成功实现。 2.4 完整代码 ​ 完整代码如下 # author : 自学小白菜 # -*- coding:utf-8 -*- # File Name : 7 lxml_novel.py # Create Time : 2023/8/5 22:04 # Version : python3.7 # Description : 实战1爬取小说 # 导包 import requests from lxml import etree# 都要用到的参数 HEADERS {User-Agent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36, }# 获取搜索某小说后的页面 def get_search_result():# 网址url https://www.iwurexs.net/so.html# 请求参数search input(请输入想要搜索的小说)params {q : search}# 请求response requests.get(url,headersHEADERS,paramsparams)# 把获取到的网页保存到本地with open(search.html,w,encodingutf-8) as f:f.write(response.content.decode(utf-8))# 解析网页 def parse_search_result():# 打开文件读取文件with open(search.html,r,encodingutf-8) as f:content f.read()# 基础urlbase_url https://www.iwurexs.net/# 初始化lxmlhtml etree.HTML(content)# 获取目标节点href_list html.xpath(//div[classshow]//table[classgrid]//td//a/href)text_list html.xpath(//div[classshow]//table[classgrid]//td//a/text())# 处理内容值url_list [base_urlhref for href in href_list]# 选择要爬取的小说for i,text in enumerate(text_list):print(当前小说名为,text)decision input(是否爬取它只能选择一本,Y/N)if decision Y:return url_list[i],text# 请求目标小说网站 def get_target_book(url):# 请求response requests.get(url,headersHEADERS)# 保存源码with open(book.html,w,encodingutf-8) as f:f.write(response.content.decode(utf-8))# 解析章节网页 def parse_chapter(base_url):# 打开文件读取内容with open(book.html,r,encodingutf-8) as f:content f.read()# 初始化html etree.HTML(content)# 解析href_list html.xpath(//div[classshow]//div[contains(class,showBox) and position()3]//ul//a/href)text_list html.xpath(//div[classshow]//div[contains(class,showBox) and position()3]//ul//a/text())# 处理拼凑出完整网页url_list [base_urlurl for url in href_list]# 返回结果return url_list,text_list# 请求小说页面 def get_content(url,title):# 请求response requests.get(url,headersHEADERS)# 获取源码content response.content.decode(utf-8)# 初始化html etree.HTML(content)# 解析text_list html.xpath(//div[contains(class,book)]//div[idcontent]//text())# 后处理# 首先把第一个和最后一个的广告信息去掉text_list text_list[1:-1]# 其次把里面的空白字符和\xa0去掉text_list [text.strip().replace(\xa0,) for text in text_list]# 最后写入文件即可with open(title.txt,w,encodingutf-8) as g:for text in text_list:g.write(text\n)if __name__ __main__:# 第一步获取到搜索页面的源码# get_search_result()# 第二步进行解析target_url,name parse_search_result()# 第三步请求目标小说页面get_target_book(target_url)# 第四步解析章节网页url_list,text_list parse_chapter(target_url)for url,title in zip(url_list,text_list):# 第五步请求小说具体的某个章节并直接解析get_content(url,title)break3. 总结 ​ 上面代码还不完善存在一定优化的地方比如代码有些地方可以解耦另外必须限制访问速度不然后期容易被封掉IP除此之外可以考虑代理池构建等操作。
http://www.yutouwan.com/news/223514/

相关文章:

  • 东阳网站推广外贸网站定制制作公司
  • 网站建设管理软件c 视频播放网站开发
  • 网站制作有哪些企业服装网站制作
  • 北京公司网站制作哪家专业tp做网站签到功能
  • 深圳搭建网站公司无锡网站建设选千客云网络
  • 在国外做盗版网站怎么做网站营销
  • 做移动网站快速排男男做的视频网站
  • 云南省建设厅网站发文网站推广建设阶段
  • 郑州做网站推广资讯沈阳自助模板建站
  • 视频网站软件有哪些wordpress分类目录描述
  • 网站用哪种语言北京最新发布信息
  • 上海网站建设哪家口碑好怎么仿一个复杂的网站
  • php自己做网站徐州网络优化招聘网
  • 页面设计网站素材朋友做的网站图片不显示不出来
  • 网站后台代码添加图片福建网站建设推广
  • 百度网站托管中英双语网站程序
  • 网站空间购买dz论坛网站源码
  • 有哪些企业可以做招聘的网站有哪些内容招聘网站做沙龙
  • 只做网站怎么做qq空间支付网站
  • 做网站判多少年中山微网站建设报价
  • 站酷网官网下载网站开发需求分析与功能设计
  • 海口免费自助建站模板淘宝联盟怎么样做网站
  • 一个专门做熊的网站官方网站建设的意义
  • 丹徒做网站合肥网站建设服务公司
  • 企业网站建设运营的灵魂是o2o网站建设公司
  • 视频网站程序模板网站开发技术 报告
  • 京东网站设计特点如何建设网站论文文献
  • 正规的徐州网站建设中国建筑官网超高层
  • 城市建设鹤岗市网站深圳微网站开发
  • 无锡哪家做网站好做淘宝客新增网站推广