Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7278487
  • 博文数量: 512
  • 博客积分: 12019
  • 博客等级: 上将
  • 技术积分: 6857
  • 用 户 组: 普通用户
  • 注册时间: 2005-08-01 16:46
文章分类

全部博文(512)

文章存档

2024年(2)

2022年(2)

2021年(6)

2020年(59)

2019年(4)

2018年(10)

2017年(5)

2016年(2)

2015年(4)

2014年(4)

2013年(16)

2012年(47)

2011年(65)

2010年(46)

2009年(34)

2008年(52)

2007年(52)

2006年(80)

2005年(22)

分类: Python/Ruby

2018-10-03 15:35:35

#-*- coding:utf-8 -*-

import urllib
import urllib2
# 1. 导入Python SSL处理模块
import ssl

import time
import sys
import random 
import codecs
from bs4 import BeautifulSoup


reload(sys)  
sys.setdefaultencoding('utf8')  


def  getUrl(url):
 
# 1. 表示忽略未经核实的SSL证书认证
context = ssl._create_unverified_context()
 
#url = ""
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"}
request = urllib2.Request(url, headers = headers)
# 1. 在urlopen()方法里 指明添加 context 参数
response = urllib2.urlopen(request, context = context)
data = response.read()
soup = BeautifulSoup(data, 'lxml')
for k in soup.table:
res = k.td.get_text()
if not res or res=="":
continue

f = codecs.open("all.txt", "a", "utf-8")
txt = unicode(res)
    f.write(res+"\n")
f.close()
#print k.td.find_all( class_="suit")


for i in range(100000):
url = "/%d" % (i)
print url
try:
getUrl(url)
except Exception,e:
print e
sleepS = random.randint(1, 3) 
time.sleep(sleepS)


python3中用下面这个更简单。还没一大堆的字符转换问题。

点击(此处)折叠或打开

  1. import ssl
  2. import requests
  3. import traceback
  4. def req_http_get(url):
  5.     context = ssl._create_unverified_context()
  6.     num = 0
  7.     num_max = 3
  8.     data = ""
  9.     try:
  10.         headers = {'Content-Type': 'application/x-www-form-urlencoded'}
  11.         while num < num_max:
  12.             req = requests.get(url=url, headers=headers)
  13.             data = req.text
  14.             if len(data) > 0:
  15.                 break
  16.             num += 1
  17.         return data

  18.     except Exception as e:
  19.         traceback.print_exc()
  20.     return data







阅读(2313) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~