文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python爬虫笔记-day3

2023-01-31 06:11

关注

正则使用的注意点
re.findall("a(.*?)b","str"),能够返回括号中的内容,括号前后的内容起到定位和过滤的效果
原始字符串r,待匹配字符串中有反斜杠的时候,使用r能够忽视反斜杠带来的转义的效果
点号默认情况匹配不到\n
\s能够匹配空白字符,不仅仅包含空格,还有\t|\r\n

xpath学习重点
使用xpath helper或者是chrome中的copy xpath都是从element中提取的数据,但是爬虫获取的是url对应的响应,往往和elements不一样
获取文本

a/text() 获取a下的文本
a//text() 获取a下的所有标签的文本
//a[text()='下一页'] 选择文本为下一页三个字的a标签

@符号

a/@href
//ul[@id="detail-list"]

//

在xpath最前面表示从当前html中任意位置开始选择
li//a 表示的是li下任何一个标签

lxml使用注意点
lxml能够修正HTML代码,但是可能会改错了

使用etree.tostring观察修改之后的html的样子,根据修改之后的html字符串写xpath

lxml 能够接受bytes和str的字符串
提取页面数据的思路

先分组,渠道一个包含分组标签的列表
遍历,取其中每一组进行数据的提取,不会造成数据的对应错乱
xpath的包含
//div[contains(@class,'i')]

实现爬虫的套路
准备url

准备start_url

url地址规律不明显,总数不确定
通过代码提取下一页的url

xpath
寻找url地址,部分参数在当前的响应中(比如,当前页码数和总的页码数在当前的响应中)

准备url_list

页码总数明确
url地址规律明显

发送请求,获取响应

添加随机的User-Agent,反反爬虫
添加随机的代理ip,反反爬虫
在对方判断出我们是爬虫之后,应该添加更多的headers字段,包括cookie
cookie的处理可以使用session来解决
准备一堆能用的cookie,组成cookie池

如果不登录

准备刚开始能够成功请求对方网站的cookie,即接收对方网站设置在response的cookie
下一次请求的时候,使用之前的列表中的cookie来请求

如果登录

准备多个账号
使用程序获取每个账号的cookie
之后请求登录之后才能访问的网站随机的选择cookie

提取数据

确定数据的位置

如果数据在当前的url地址中

提取的是列表页的数据

直接请求列表页的url地址,不用进入详情页

提取的是详情页的数据

确定url

发送请求

提取数据

返回

如果数据不在当前的url地址中

在其他的响应中,寻找数据的位置

从network中从上往下找

使用chrome中的过滤条件,选择出了js,css,img之外的按钮

使用chrome的search all file,搜索数字和英文

数据的提取

xpath,从html中提取整块的数据,先分组,之后每一组再提取
re,提取max_time,price,html中的json字符串
json

保存

保存在本地,text,json,csv
保存在数据库

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯