python爬虫当当网图书信息,python爬虫相关书籍
指尖生活
模块使用请求pip安装请求。
pip安装
战斗支援车
Win输入cmd,输入安装命令pip安装模块名(如果觉得安装速度慢,可以切换国产镜像源)
二。模块安装问题——如果安装python第三方模块:
1.win R输入cmd,单击ok,输入安装命令pip安装模块名(pip安装请求)并按enter。
2.在pycharm中单击终端,输入安装命令。
-安装失败原因:
-故障1: pip不是内部命令
解决方法:设置环境变量。
-故障二:出现大量红色信息(读取超时)。
解决方法:由于网络链接超时,需要切换镜像源。
https://pypi.tuna.tsinghua.edu.cn/simple,清华
阿里云:https://mirrors.aliyun.com/pypi/simple/
中国科学技术大学https://pypi.mirrors.ustc.edu.cn/simple/
华中科技大学:https://pypi.hustunique.com/
山东理工大学:https://pypi.sdutlinux.org/
豆瓣:https://pypi.douban.com/simple/
示例:pip 3 install-I https://pypi.doubanio.com/simple/模块名称
-故障三:cmd显示已经安装或安装成功,但在pycharm中仍然无法导入。
解决方案:可能安装了多个python版本(anaconda或python只能安装一个)。卸载一个就行了。
或者pycharm中的python解释器设置不正确。
3.如何在pycharm 1中配置python解释器?选择文件设置项目Python解释器。
2.点击齿轮并选择添加。
3.添加python安装路径
4.如何在pycharm 1中安装插件?选择文件设置插件。
2.点击Marketplace输入要安装的插件名称,例如:翻译插件输入翻译/中文插件输入中文。
3.选择相应的插件,然后单击安装。
4.安装成功后,会弹出重启pycharm的选项。点击确定,重启生效。
动词(verb的缩写)爬虫的基本流程(1)。数据源分析很重要。
1.要分析您想要的数据内容,您可以请求该url地址来获取相应的数据。
开发者不能用2和1。
1.F12打开开发者工具并刷新网页。
2.通过关键字搜索来搜索数据包。
(2)代码实现的过程步骤
1.发送请求,模拟浏览器发送对url地址的get请求。
2.获取数据,在开发者工具中获取server-response返回的响应数据。
3.分析数据并提取我们想要数据的内容。
4.保存数据,以csv格式保存数据。
不及物动词需要完整的代码#导入数据请求模块-pip安装请求
导入请求
#导入数据解析模块-需要pip安装解析器
导入parsel
#导入csv模块
导入csv
#导入时间模块
导入时间
#创建文件data.csv文件名mode=a 保存方法encoding=utf-8 编码格式newline= 新队列
f=open(data.csv ,mode=a ,encoding=utf-8 ,newline= )
#字典被写入F文件对象的fieldnames表的第一行的头中。
csv_writer=csv。DictWriter(f,fieldnames=[
标题,
注释,
推荐,
作者,
时间,
出版社,
售价,
原始价格,
折扣,
电子书,
详细信息页面,
])
#写入标题
csv_writer.writeheader()
发送,模拟浏览器发送对url地址的get请求。
为什么要模拟浏览器?
为了防止被向后爬行
对于范围(1,26)中的页面:
打印(f 收集第{page} 页上的数据内容)
#确定网址
URL=f http://bang . Dangdang . com/books/best sellers/01 . 00 . 00 . 00 . 00 . 00-recent 30-0-0-1-{ page }
# Request header-dictionary数据类型,建立完整的键值对
标题={
#用户代理:用户代理代表浏览器的基本身份。
用户代理: Mozilla/5.0(Windows NT 10.0;WOW64) AppleWebKit/537.36 (KHTML,像壁虎一样)Chrome/101.0.0.0 Safari/537.36
}
#发送请求
response=requests.get(url=url,headers=headers)
# Response [200]响应对象200的状态码表示请求成功。
打印(响应)
#获取数据,获取服务器返回的响应数据-开发者工具中的response response . text-text数据字符串数据。
#打印(response.text)
#解析数据parsel(解析模块)- css选择器xpath转换解析对象选择器XPath=none Data= html xmlns= 3358www.w3.org/1999/x.
选择器=parsel。选择器(响应.文本)
Css选择器-通过标签属性内容提取data developer工具中的元素面板来查看标签。
所有数据信息都包含在li标签中。
#获取所有li标签-返回列表,列表中的元素都是选择器对象。
lis=selector.css(。bang _ list _ mode Li’)
# for循环遍历可以把列表中的元素一个一个提取出来——相当于把盒子里的苹果一个一个拿出来。
李斯对李说:
#标题是A标签里有什么?Attribute - attr()选择标签中的属性。
Title=li.css(。name a: attr (title))。get () # title
Comment=li.css(。star a:text’)。获取()。替换(注释, )#注释
推荐=li.css(。推简:正文)。获取()。替换(推荐, )#推荐
Author=li.css(。publisher _ info.a: attr (title))。get () #作者
Date=li.css(。publisher _ infospan:text’)。get () # time
press=Li . CSS( div:n-child(6)a:text )。Get () # Press
price _ n=Li . CSS( . price . price _ n:text )。Get () #售价
price _ r=Li . CSS( . price . price _ r:text )。Get () #原价
price _ s=Li . CSS( . price . price _ s:text )。获取()。替换(折扣, )#折扣
price _ e=Li . CSS( . price . price _ e . price _ n:text )。Get () #电子书
Href=li.css(。name a: attr (href))。get () #详细信息页
dit={
标题:标题,
注释:注释,
推荐:推荐,
作者:作者,
时间:日期,
按下,按下,
销售价格,价格_n,
原价,price_r,
折扣:价格,
电子书:price_e,
详细信息页:href,
}
#快速复制一行Ctrl D。
csv_writer.writerow(dit)
print(标题、评论、推荐、作者、日期、出版社、价格n、价格r、价格s、价格e、href)
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。