大连星海影院,凡客体生成器,宠物王爷坏坏妃
写爬虫时常常会遇到各种反爬虫手段, 封 ip 就是比较常见的反爬策略
遇到这种情况就需要用到代理 ip, 好用的代理通常需要花钱买, 而免费的代理经常容易失效, 所以就需要自己搭建 ip 代理池, 来获取免费高效的代理 ip. 下面介绍一个自己写的 ip 代理池, 欢迎 star
pip install stand
stand
启动后, 爬虫会从代理网站抓取 ip, 并将数据保存在名为 stand.db 的 sqlite 数据库中, 等待爬虫抓取一定数量 ip 后, 即可使用代理
>>> from stand import get_proxy >>> proxy = get_proxy() >>> print(proxy) '103.133.222.151:8080'
在 scrapy 中使用 stand 作为代理
import scrapy from scrapy.crawler import crawlerprocess class testspider(scrapy.spider): name = 'test' start_urls = ['https://api.ip.sb/ip'] def parse(self, response): print(response.meta['proxy']) print(response.text) downloader_middlewares = { 'stand.useragentmiddleware': 543, 'stand.proxymiddleware': 600, } settings = dict( log_enabled=false, download_timeout=30, downloader_middlewares=downloader_middlewares, ) def run(): process = crawlerprocess(settings) process.crawl(testspider) process.start() if __name__ == "__main__": run()
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
python求numpy中array按列非零元素的平均值案例
网友评论