
Python爬虫学习
文章平均质量分 91
Alfredorw
这个作者很懒,什么都没留下…
展开
-
使用Beautiful Soup来解析网页数据
class ‘bs4.element.Tag’>这个类型是Beautiful Soup中一个很重要的数据结构,经过选择器的选择后,都是这种Tag类型,并且里面有很多属性也是很常用的,比如strig等。使用 . 的方式依次按层级的向下访问,当出现有同样多个节点的时候,只会匹配到第一个节点而忽略后面的结点。采用 find方式 ,这与find_all的获取数据的方式相同,只是范围不同罢了,find只查询符合条件的第一个元素。第一种:使用attrs来对节点的属性进行查询,这是比较普遍使用的方式。原创 2024-05-18 20:30:44 · 782 阅读 · 0 评论 -
使用XPath来解析网页数据
首先是定位到超链接为“link4.html”的 a 标签,然后向上翻一级,也就是到了 li 元素,然后再查找这个 a 标签对应的 li 的 class 属性值,即最后的输出为[‘item-1’]第一种是访问class属性为“item-0”的 li 标签下的文字,但是在这行代码里面,li 标签的下一级是 a 标签,没有文字,只有换行符,所以输出也就是['\n ']获取class属性值含 “li” 和 name 属性值为 “item” 的 li 标签下的 a 标签的文字部分。原创 2024-05-18 20:31:25 · 1292 阅读 · 0 评论 -
更适合爬虫的正则表达式
对于第一个输出,我们使用的是.*的方式来正则字符串,对于.*而言,它会尽量匹配更多的符合要求的字符串,而.*后面的是 \d+,也就是至少会留一个数字给到 \d+,于是.*就把前面的123456都匹配掉,只留一个7给到 \d+,当使用group(1)方法时,访问的是(\d+),这个时候输出的就只有 7 了。匹配到hellow的空格字符时,就停止匹配,因为后面的数字部分,可以留给(\d+)来匹配,于是在使用group(1)方法时,访问(\d+),这个时候输出就会出现1234567。原创 2024-05-18 12:31:32 · 1214 阅读 · 0 评论 -
使用requests库发送网络请求
上述代码只是对get请求的最基础的用法,即在requests.get()方法只中放入url参数即可获取网页源代码,但是在很多情况下,这种方式会被服务器检测到,于是可以传入更多的参数来为爬虫做伪装,即让爬虫程序看起来更像是浏览器。可以看到,在上述代码中,我们添加了headers参数,同时headers为字典型变量,里面可以添加很多东西,而这些东西都是来源于浏览器的请求头里面的内容。在这里显示的就是我们的请求头部分,在使用get请求时,添加请求参数,让爬虫程序得到一成伪装。使用Cookie成功模拟了登录状态。原创 2024-05-18 11:19:41 · 808 阅读 · 0 评论 -
爬虫基础(更适合于新手的爬虫认知)
URN与URL是URI的子集,在现行市场下,URN使用的非常少,几乎所有的URI都是URL,所以在不严谨的情况下,可以说URI就是URL。比如:打开一个浏览器,相当于就打开了一个浏览器进程,在浏览器上面播放视频,音乐,那么播放的视频和音乐就是这个浏览器进程上面的两个线程。b. 提取信息:对获取到的网页信息进行解析,提取需要的信息,常使用正则,Beautiful Soup,lxml,pyquery库完成。c. 保存数据:将提取到的信息,保存为TXT,JSON文本,数据库,HTML格式等。原创 2024-05-17 19:17:28 · 1298 阅读 · 0 评论