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

建站公司兴田德润在哪里wordpress 请选择一个文件

建站公司兴田德润在哪里,wordpress 请选择一个文件,南昌seo排名技术,wordpress主题 单页python爬虫9#xff1a;实战2 前言 ​ python实现网络爬虫非常简单#xff0c;只需要掌握一定的基础知识和一定的库使用技巧即可。本系列目标旨在梳理相关知识点#xff0c;方便以后复习。 申明 ​ 本系列所涉及的代码仅用于个人研究与讨论#xff0c;并不会对网站产生不好…python爬虫9实战2 前言 ​ python实现网络爬虫非常简单只需要掌握一定的基础知识和一定的库使用技巧即可。本系列目标旨在梳理相关知识点方便以后复习。 申明 ​ 本系列所涉及的代码仅用于个人研究与讨论并不会对网站产生不好影响。 目录结构 文章目录 python爬虫9实战21. 目标2. 详细流程2.1 前置说明2.2 修改1目标小说获取解析函数修改2.3 修改2章节目录获取解析函数修改2.4 修改3获取小说内容解析函数修改2.5 完整代码 3. 总结 1. 目标 ​ 这次爬虫实战采用的库为requests bs4这次的案例来自于python爬虫7实战1这篇文章本次主要的点在于利用bs4进行解析因此建议大家先阅读python爬虫7实战1因为里面的代码我会直接拷贝过来用。 ​ 再次说明案例本身并不重要重要的是如何去使用和分析另外为了避免侵权之类的问题我不会放涉及到网站的图片希望能理解。 2. 详细流程 2.1 前置说明 ​ 由于不需要重新写大部分代码因此本篇主要讲解一下如何用bs4去解析网页。 ​ 这里先把之前的代码拷贝过来 # 导包 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)break​ 其中需要修改的部分有三个解析函数。 2.2 修改1目标小说获取解析函数修改 ​ 本次要修改的函数名为parse_search_result。 ​ 那么看下图 ​ 那么我们可以这么去寻找a标签 1. 找到table标签其classgrid 2. 找到table下的a标签即可​ 那么代码修改如下 # 解析网页 def parse_search_result():# 打开文件读取文件with open(search.html, r, encodingutf-8) as f:content f.read()# 基础urlbase_url https://www.iwurexs.net/# 初始化lxmlsoup BeautifulSoup(content,lxml)# 获取目标节点a_list soup.find_all(table,attrs{class:grid})[0].find_all(a)url_list [base_url a[href] for a in a_list]text_list [a.string for a in a_list]# 选择要爬取的小说for i,text in enumerate(text_list):print(当前小说名为,text)decision input(是否爬取它只能选择一本,Y/N)if decision Y:return url_list[i],text​ 运行结果如下 2.3 修改2章节目录获取解析函数修改 ​ 本次要修改的函数名为parse_chapter。 ​ 首先还是看下图 ​ 那么可以这么进行解析 1. 首先获取所有含有classshowBox的div标签共三个但是我们只要第三个 2. 其次获取该div下的所有a标签即可​ 那么代码修改如下 # 解析章节网页 def parse_chapter(base_url):# 打开文件读取内容with open(book.html, r, encodingutf-8) as f:content f.read()# 初始化soup BeautifulSoup(content,lxml)# 解析# 获取最后一个div标签div_label soup.find_all(div,attrs{class:showBox})[-1]# 获取所有a标签a_list div_label.find_all(a)# 获取内容url_list [base_urla[href] for a in a_list]text_list [a.string for a in a_list]# 返回结果return url_list,text_list​ 运行结果如下 2.4 修改3获取小说内容解析函数修改 ​ 本次要修改的函数名为get_content。 ​ 首先还是看下图 ​ 那么可以这么进行解析 1. 直接获取id“content”的div标签 2. 在获取其下的所有内容​ 那么修改代码如下 # 请求小说页面 def get_content(url,title):# 请求response requests.get(url,headersHEADERS)# 获取源码content response.content.decode(utf-8)# 初始化soup BeautifulSoup(content,lxml)# 解析text_list list(soup.find_all(div,attrs{id:content})[0].stripped_strings)# 后处理# 首先把第一个和最后一个的广告信息去掉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.5 完整代码 # 导包 import requests from bs4 import BeautifulSoup# 都要用到的参数 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/# 初始化lxmlsoup BeautifulSoup(content,lxml)# 获取目标节点a_list soup.find_all(table,attrs{class:grid})[0].find_all(a)url_list [base_url a[href] for a in a_list]text_list [a.string for a in a_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()# 初始化soup BeautifulSoup(content,lxml)# 解析# 获取最后一个div标签div_label soup.find_all(div,attrs{class:showBox})[-1]# 获取所有a标签a_list div_label.find_all(a)# 获取内容url_list [base_urla[href] for a in a_list]text_list [a.string for a in a_list]# 返回结果return url_list,text_list# 请求小说页面 def get_content(url,title):# 请求response requests.get(url,headersHEADERS)# 获取源码content response.content.decode(utf-8)# 初始化soup BeautifulSoup(content,lxml)# 解析text_list list(soup.find_all(div,attrs{id:content})[0].stripped_strings)# 后处理# 首先把第一个和最后一个的广告信息去掉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. 总结 ​ 本次实战主要目的还是帮助大家熟悉bs4这个库的使用技巧实战只是顺带的懂得如何运行这个工具比懂得如何爬取一个网站更加重要。 ​ 除此之外不难看出lxml库更像一个从上到下的定位模式你想要获取某一个标签首先需要考虑其上某个更加具体的标签而bs4则更直接如果你要获取的标签比较特别可以直接定位它而无需通过其他关系来确定。 ​ 下一篇开始讲解如何解决动态网页即selenium库。
http://www.hkea.cn/news/14411833/

相关文章:

  • 网站的图片大小电子商务平台的特点
  • 什么叫微网站宁波网站建设网络推广
  • 深圳网站开发培训价格好看的wordpress图片主题
  • 个人开发网站上海注册公司注册地址
  • 千享科技网站建设wordpress群站
  • 工信部门备案网站获取的icp备案号有什么可以制作图片的软件
  • 大理州住房和城乡建设部网站网站下载链接怎么做
  • 网站logo设计教程网站开发获取报价
  • 内部网站搭建中国新闻社招聘公示
  • 建网站服务公司asp.net网站建设项目实战 董义革
  • 牡丹江建设局网站公司建站比较好的
  • python 网站开发流程网站开发与设计岗位职责
  • 网站优化方案范文网站策划书市场分析2000字
  • 仿站定制模板建站帮企业建网站
  • 快速的宝安网站建设wordpress 当前文章分类id
  • 央美老师做的家具网站vue做的小网站
  • 保定手机网站网站开发用工工程师
  • 平顶山网站建设网站外链平台
  • 织梦cms网站更新深圳 商城 网站建设
  • 经典网站建设方案深圳软件外包公司都有哪些
  • 接网站开发的公司电话wordpress主题极简
  • 去除 做网站就用建站之星wordpress 获取标签id
  • 法华寺网站建设手机做任务网站
  • 如何用手机建设一个网站360建筑网撤销挂证
  • 建筑行业官方网站域名备案掉了网站还可以用吗
  • 网站模板设计教程怎么样做企业模板网站
  • 手机移动网站设计泰州网站建设优化建站
  • c语言程序设计网站WordPress论坛小程序
  • 天津做网站的公dw网页设计成品免费学霸
  • 柳州企业网站制作海外免备案网站