python crawl
来源:互联网 发布:家庭网络改造设计方案 编辑:程序博客网 时间:2024/05/16 12:08
python爬虫下载页面代码备用。
# -*- coding:utf-8 -*-import requestsimport reimport randomclass download: def __init__(self): self.user_agent_list = [ "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1", "Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1092.0 Safari/536.6", "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1090.0 Safari/536.6", "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/19.77.34.5 Safari/537.1", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.9 Safari/536.5", "Mozilla/5.0 (Windows NT 6.0) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.36 Safari/536.5", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3", "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_0) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3", "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3", "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3", "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.0 Safari/536.3", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24", "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24" ] self.iplist = [] def get(self, url, timeout, proxy=None, num_retries = 6): UA = random.choice(self.user_agent_list) headers = { 'User-Agent': UA, 'Accept': "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", 'Accept-Encoding': 'gzip, deflate, sdch', } if proxy == None: try: response = requests.get(url, headers = headers) return response except: if num_retries > 0: time.sleep(10) print(u'获取网页出错,10S后将获取倒数第:', num_retries, u'次') return self.get(url, timeout, num_retries-1) else: print(u'开始使用代理') time.sleep(10) IP = ''.join(str(random.choice(self.iplist)).strip()) proxy = {'http': IP} return self.get(url, timeout, proxy,) else: try: IP = ''.join(str(random.choice(self.iplist)).strip()) proxy = {'http': IP} response = requests.get(url, headers=headers, proxies = proxy) return response except: if num_retries > 0: time.sleep(10) IP = ''.join(str(random.choice(self.iplist)).strip()) proxy = {'http': IP} print(u'获取网页出错,10S后将获取倒数第:', num_retries, u'次') print(u'开始使用代理') return self.get(url, timeout, proxy, num_retries-1) else: print(u'代理也不好使了!取消代理') return self.get(url, 3) def analysis(self): html = self.get("http://haoip.cc/tiqu.htm", 3) iplistn = re.findall(r'r/>(.*?)<b', html.text, re.S) for ip in iplistn: i = re.sub('\n', '', ip) self.iplist.append(i.strip()) print(i.strip()) print (self.iplist)Download = download()Download.analysis()
0 0
- python crawl
- python Some Crawl
- Crawl GB2312 encoded webpages with Python 3.x
- python scrapy crawl csdnblog出现importError:No modul named items
- crawl.py
- 爬虫 crawl
- Pub crawl
- Crawl AJAX dynamic web page using Python 2.x and 3.x
- python scrapy crawl csdnblog出现indentationError:unident does not matcher any outer indentation level
- nutch应用-合并Crawl
- 迷茫中crawl
- nutch之crawl命令
- Crawl Scope 抓取范围
- Crawl 相关方法
- crawl spider的使用
- crawl 公众号
- nutch中bin/crawl和bin/nutch crawl的用法
- 从crawl 脚本看 nutch crawl过程 上
- FPGA产生基于LFSR的伪随机数
- intellj idea 工具
- UML常用图的几种关系的总结
- 2.7.1 HTML5框架
- python的 sort()函数
- python crawl
- 无法访问局域网
- 北京大学推免生机考D题 POJ - 1321
- Hibernate插入数据库中文乱码
- 使用dtd定义元素
- we've selected points 2 minutes above and blow t=3 minutes
- PAT B1016. 部分A+B (15)
- viewpager设置缓存的问题
- 排序算法之 快速排序 及其时间复杂度和空间复杂度