首页 > 编程知识 正文

selenium python,python爬虫实例教程

时间:2023-05-06 18:04:10 阅读:37581 作者:4498

将代理IP池添加到爬行器

在运行爬行器的过程中,请求次数过多,经常会阻止IP,但在这种情况下,必须通过代理IP进行解决。 代理IP的原理简单来说,就像在本机和web服务器之间建立中继站,将本机的请求传递给代理IP服务器,然后从本机向web服务器发送请求,将响应返回给本机。

下载代理IP池

这是github上很受欢迎的代理池,使用Redis数据库。 因为是免费的代理,质量不高,但足够大家学习。 其中可以自行设置收费的代理ip,但本文不写。

地址: https://github.com/jhao 104/proxy _ pool

下载后,在cmd上进入解压缩路径,然后运行此命令安装依赖关系。

pip install -r requirements.txt

在解压缩的文件夹中找到并修改Configsetting.py,notepad或您的ide。

然后在cmd中进入Run目录运行。

pythonmain.py

代理池成功打开。

打开RedisDesktopManager。

接下来,测试一下这个代理池是否可用。

取天天基金网“热门主题”基金名称,先用这个代理池的demo https://github.com/jhao 104/proxy _ pool一直拉。打开http://fund.eastmoney.com/,按F12打开开发者工具

在控制台栏中输入document.charset,回到车上即可看到网页代码。 分析网页元素的位置

代码如下。

importrequestsfrombs4importbeautifulsoupdefget _ proxy (: return requests.get (' http://127.0.0.133605010/get proxt proxy . format(proxy ) (def getHtml ) ) : retry_count=5 #容错次数proxy=get_proxy ) ) 获取代理ipwhileretry _ count 03360 try : html=requests.get (' http://fund.eastmoney.com/',proxies={ ' http ' 33: ) 添加代理参数proxies html.encoding='utf-8' #以使用代理访问returnhtml.teter的html文本except exception : retry _ count-- 如果从代理池中删除代理delete_proxy(proxy ) return None #的请求失败,则为none#print(gethtml ) ) def get _ info (3360 # html=getHtml ) ) )的soup=beautifulsoup(gethtml (,' lxml ) ) item=soup.find_all )、' div ',attrs={ '

————————————————

这是CSDN博客“zydpkq”的原始文章,符合CC 4.0 BY-SA版权协议。 请附上原文来源的链接和本声明。

原文链接: https://blog.csdn.net/weixin _ 41996197/article/details/89427121

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。