python学习之----爬取数据

本文介绍了Python爬虫的基础知识,包括网页结构、正则表达式与BeautifulSoup结合解析网页、Request库的GET和POST方法。讨论了User-Agent在防止被反爬中的作用,并探讨了提高爬取速度的多进程与异步方法,如gevent。最后,提到了使用Selenium进行更智能的反爬策略,模拟用户行为避免被检测。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网页基本了解

-- 参考链接:https://morvanzhou.github.io/tutorials/data-manipulation/scraping/1-01-understand-website/

网页的基本了解

1.html格式,配合CSS和javascript显示出来,所以我们主要从html提取网页。
2.head + body = html
3.head 不显示,是在里面,所以我们一般都是爬取body的信息
4.没有css的话网页是很丑陋的,css的class用来同意修改格式的文字,更加方便,不同的class样式不同。


正则表达+beautiful soup

1.这两个结合可以让我们更好的筛选从网页上爬到的信息,beautiful soup一般都会有tag,我们通过tag来阅读,而正则的出现则是我们更好的筛选出我们想要的信息


Request的使用更好的进入网站

参考链接

1.post的使用,一般都是来和网站交互的使用,一般会提交一些数据给我们的服务器的网站。所以比如我们登陆账号等一般都会用到post这类的。个性化信息,自己发到服务器,然后服务器根据信息返回结果给你,比如你登陆知乎,就是专门属于你的名称和图标。-
2.get的使用,一般则是只有浏览的功能,但是没有任何的数据交互。

3.关于user-agent的问题:
参考链接

爬虫是自动的爬取网站信息,实质上我们也只是一段代码,并不是真正的浏览器用户,加上User-Agent(用户代理,简称UA)信息,只是让我们伪装成一个浏览器用户去访问网站,然而一个用户频繁的访问一个网站很容易被察觉,既然我们可以伪装成浏览器,那么也同样可以通过UA信息来变换我们的身份。


更快地爬取数据:

这里我们分别有多进程,和异步来处理,这两者都是我们可以考虑的,进程的话就是用multiprocessing,但是不能用多线程,因为pyhon的多线程是不管用的,因为python的一些机制。多进程的话,就是设置好进程数就差不多了。

但是这里可以用异步来处理。异步的概念,其实在很多地方也会使用,也就是尽量的利用好等待的时间,让等待的时间去做其他的事情,重复的利用好每一秒钟就是异步的道理,异步的话除了asycnio还可以用gevent,后者更加简单。

gevent参考链接,gevent是携程,这里要注意下。


如何更好的不被反爬虫

使用selenium更好的反爬虫,这个的话会模拟人们正常的点击网页,从而有更多的操作,同时也避免被服务器发现是在爬取数据。

1.第一步是设置好selenium的参数
参考链接
参考链接2
参考链接3

2.如何定位信息:
参考链接1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值