评论回复网站怎么做的设计公司起名常用字

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

评论回复网站怎么做的,设计公司起名常用字,标志设计分析,高密哪里做网站文章目录 前言一、VSCodePython环境搭建二、爬虫案例一1、爬取第一页数据2、爬取所有页数据3、格式化html数据4、导出excel文件 前言 实战是最好的老师#xff0c;直接案例操作#xff0c;快速上手。 案例一#xff0c;爬取数据#xff0c;最终效果图#xff1a; 一、VS… 文章目录 前言一、VSCodePython环境搭建二、爬虫案例一1、爬取第一页数据2、爬取所有页数据3、格式化html数据4、导出excel文件 前言 实战是最好的老师直接案例操作快速上手。 案例一爬取数据最终效果图 一、VSCodePython环境搭建 开发环境MacBook Pro VSCode Python。 打开最新版VSCode安装Python开发环境快捷键cmdshiftx。 选择Python解释器快捷键cmdshiftp。输入Python: Select Interpreter选择解释器。 写“hello world”。 新建文件输入print(‘hello world~’)另存为hello.py文件。 shiftenter 运行
二、爬虫案例一 以爬取“豆瓣读书TOP250”的书籍为案例。 网址链接https://book.douban.com/top250?start0 1、爬取第一页数据 代码如下 import requests def askUrl(url):head { User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.1 Safari/605.1.15}html r requests.get(url, headers head) html r.text print(html) return htmlif name main: askUrl(https://book.douban.com/top250?start0) head-User-Agent的值可以从这个地方获取 如果import requests报错使用pip3 install requests安装。 运行之后结果如下 第一页25个都以html的形式显示了出来第25个为书籍《野草》。 2、爬取所有页数据 代码如下 import requests def askUrl(url):head { User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.1 Safari/605.1.15}r requests.get(url, headers head)html r.textprint(html)def getData(baseurl):for i in range(0, 10):url baseurl str(i * 25)html askUrl(url)if name main: baseurl https://book.douban.com/top250?startgetData(baseurl) 运行之后结果如下 最后一页最后一个为书籍《哈姆莱特》。 3、格式化html数据 上面1和2只是输出了html源码现在按自己需要的几个字段进行格式化。 分别取这4个字段封面图、书籍名称、作者出版社、价格等、引用。 这里使用lxml库解析html。

导入lxml库子模块etree

from lxml import etree 格式化代码如下 import requests from lxml import etree def askUrl(url):head { User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.1 Safari/605.1.15}html r requests.get(url, headers head) html r.text parse etree.HTML(html) # 数据# all_tr parse.xpath(/html[classua-mac ua-webkit book-new-nav]/body/div[idwrapper]/div[idcontent]/div[classgrid-16-8 clearfix]/div[classarticle]/div[classindent]/table)all_tr parse.xpath(//*[idcontent]/div/div[1]/div/table)for tr in all_tr:tr_data {vover: .join(tr.xpath(./tr/td[1]/a/img/src)).strip(), # 封面图name: .join(tr.xpath(./tr/td[2]/div[classpl2]/a/text())).strip(), # 书名author: .join(tr.xpath(./tr/td[2]/p[1]/text())).strip(), # 作者quote: .join(tr.xpath(./tr/td[2]/p[2]/span/text())).strip() # 引用}print(tr_data)if name main: askUrl(https://book.douban.com/top250?start0)
如果报错 urllib3 v2 only supports OpenSSL 1.1.1, currently the ssl module is compiled with LibreSSL 2.8.3. 解决方法 pip3 install urllib31.26.15结果如下 数据已经非常清晰了。 PS使用parse.xpath最重要的是获取到准确的xpath值。 两个方法 方法一Google Chrome浏览器插件xpath helper。 效果如下 弹出插件面板cmdshiftx。 选中shift。 取到的值为

原始值

/html[classua-mac ua-webkit book-new-nav]/body/div[idwrapper]/div[idcontent]/div[classgrid-16-8 clearfix]/div[classarticle]/div[classindent]/table[1]/tbody/tr[classitem]# 优化后的值使用此值去掉了tbody和[1] /html[classua-mac ua-webkit book-new-nav]/body/div[idwrapper]/div[idcontent]/div[classgrid-16-8 clearfix]/div[classarticle]/div[classindent]/table 方法二Google Chrome浏览器查看源代码。 取到的值为

原始值

//[idcontent]/div/div[1]/div/table[1]/tbody/tr# 优化后的值使用此值去掉了tbody和[1] //[idcontent]/div/div[1]/div/table 每一个字段对应的xpath值也是这么获取。 4、导出excel文件 生成csv格式文件。 导入csv库 import csv导出cvs文件第一页25条代码如下 import requests from lxml import etree import csvdef askUrl(url):head { User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.1 Safari/605.1.15}html r requests.get(url, headers head) html r.text parse etree.HTML(html) # 数据all_tr parse.xpath(//[idcontent]/div/div[1]/div/table)# 创建book.csv文件with open(book.csv, a, encodingutf_8_sig, newline) as fp: header [封面,名称, 作者, 引用] writer csv.writer(fp) writer.writerow(header)for tr in all_tr:tr_data {vover: .join(tr.xpath(./tr/td[1]/a/img/src)).strip(), # 封面图name: .join(tr.xpath(./tr/td[2]/div[classpl2]/a/text())).strip(), # 书名author: .join(tr.xpath(./tr/td[2]/p[1]/text())).strip(), # 作者quote: .join(tr.xpath(./tr/td[2]/p[2]/span/text())).strip() # 引用}# print(tr_data)# 写入数据行with open(book.csv, a, encodingutf_8_sig, newline) as fp: fieldnames [vover,name, author, quote] writer csv.DictWriter(fp, fieldnames) writer.writerow(tr_data)if name main: askUrl(https://book.douban.com/top250?start0) 导出的book.csv文件第一页如下 导出cvs文件所有的250条代码如下 import requests from lxml import etree import csvdef askUrl(url):head { User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.1 Safari/605.1.15}r requests.get(url, headers head)html r.text# print(html)parse etree.HTML(html)all_tr parse.xpath(//[idcontent]/div/div[1]/div/table)for tr in all_tr:tr_data {vover: .join(tr.xpath(./tr/td[1]/a/img/src)).strip(), # 封面图name: .join(tr.xpath(./tr/td[2]/div[classpl2]/a/text())).strip(), # 书名author: .join(tr.xpath(./tr/td[2]/p[1]/text())).strip(), # 作者quote: .join(tr.xpath(./tr/td[2]/p[2]/span/text())).strip() # 引用}# print(tr_data)# 写入数据行with open(bookall.csv, a, encodingutf_8_sig, newline) as fp: fieldnames [vover,name, author, quote] writer csv.DictWriter(fp, fieldnames) writer.writerow(tr_data)def getData(baseurl):# 创建book.csv文件with open(bookall.csv, a, encodingutf_8_sig, newline) as fp: header [封面,名称, 作者, 引用] writer csv.writer(fp) writer.writerow(header)# 插入25页的数据for i in range(0, 10):url baseurl str(i * 25)html askUrl(url)if name main: baseurl https://book.douban.com/top250?startgetData(baseurl) 导出的book.csv文件所有页250条数据如下