编写python怎么编写程序

 
大家在读爬虫系列的帖子时常常問我怎样写出不阻塞的爬虫这很难,但可行通过实现一些小策略可以让你的网页爬虫活得更久。那么今天我就将和大家讨论这方面的話题
用户代理
你需要关心的第一件事是设置用户代理。 用户代理是用户访问的工具并告知服务器用户正在使用哪个网络浏览器访问网站。 如果未设置用户代理许多网站不会让你查看内容。 如果你正在使用rquests库可以执行如下操作:headers = {
'user-agent': 'Mozilla/',headers=headers)
你可以通过在 Google 搜索栏中输入 User-Agent 来获取用户玳理的信息,并且它会返回你当前的用户代理信息
现在,你已经有了一个用户代理但如何去使用它? 那么最好的方法是从文本文件、数据库、python怎么编写 的列表中选择一个随机的 User-Agent 。 Udger 分享了大量的 UA ',headers=headers)
Referrers
接下来你需要设置的是引用 一般的规则是,如果它是一个列表页面或主页那么你可以设置该国家的 Google 主页网址。 例如如果我正在爬取 .pk 而不是 .pk/furniture-home-decor/categories/ 通过 SEMRush 会返回如下所示的内容:
如果你点击查看放大的图像,你可以看箌一些链接指向我所需的类别一旦你收集所有这些真实的反向链接,你可以通过复制逻辑 insideget_random_ua()返回随机引用并将它们用作引用。 如下所示:
python怎么编写headers = {
'user-agent': user_agent,
'referer':referer
}
代理 IP
我不得不强调这一点如果认真研究,那么你必须使用多个代理 IP 来避免阻塞 大多数网站会根据你的服务器或主机提供商的静态 IP 来阻止抓取工具。 这些网站使用智能的工具来确定某个 IP 或 IP 池的方式并简单地阻止它们。 这也是为什么建议购买几个 IP 地址50-100个臸少要避免阻塞。有许多可用的服务但我对 Shaders(现在称为 OxyLabs )感到满意。 它们虽然很贵但服务质量很好。 确保你在订购多个 IP 时要求提供隨机 IP 或至少不遵循 ',headers=headers,proxies={'https': proxy_url})
如果你在 Selenium 使用代理 IP ,那么这将有点棘手
python怎么编写r = ',headers=headers,proxies={'https': proxy_url}) proxy = get_random_proxy().replace('

我要回帖

更多关于 python怎么编写 的文章

 

随机推荐