編輯:(求助)當我從我的文件中讀取值時,新行字符被添加到結尾(\ n)這是我的請求字符串在該點分裂。 我認爲這是關於如何將值保存到文件中的。非常感謝。urllib2錯誤沒有給出主機
我有我有以下代碼:
results = 'http://www.myurl.com/'+str(mystring)
print str(results)
request = urllib2.Request(results)
request.add_header('User-Agent','Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)')
opener = urllib2.build_opener()
text = opener.open(request).read()
這是一個循環。 循環運行幾次後,str(mystring)發生變化,給出一組不同的結果。 我可以多次循環腳本,因爲我希望保持str(mystring)的值不變,但每次更改str(mystring)的值時,都會收到錯誤消息,說明代碼嘗試構建開啓器時沒有給出主機。
opener = urllib2.build_opener()
任何人都可以幫忙嗎?
TIA,
Paul。
編輯:這裏
更多代碼.....
import sys
import string
import httplib
import urllib2
import re
import random
import time
def StripTags(text):
finished = 0
while not finished:
finished = 1
start = text.find("<")
if start >= 0:
stop = text[start:].find(">")
if stop >= 0:
text = text[:start] + text[start+stop+1:]
finished = 0
return text
mystring="test"
d={}
with open("myfile","r") as f:
while True:
page_counter=0
print str(mystring)
try:
while page_counter <20:
results = 'http://www.myurl.com/'+str(mystring)
print str(results)
request = urllib2.Request(results)
request.add_header('User-Agent','Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)')
opener = urllib2.build_opener()
text = opener.open(request).read()
finds = (re.findall('([\w\.\-]+'+mystring+')',StripTags(text)))
for find in finds:
d[find]=1
uniq_emails=d.keys()
page_counter = page_counter +1
print "found this " +str(finds)"
random.seed()
n = random.random()
i = n * 5
print "Pausing script for " + str(i) + " Seconds" + ""
time.sleep(i)
mystring=next(f)
except IOError:
print "No result found!"+""
當你改變它時,mystring的值是多少? – dm03514
這只是一個不同的搜索術語。他們都是單個單詞,都很統一。我可以用任何我喜歡mystring的值來啓動腳本。當我嘗試通過我的代碼更改數值時出現問題 –
請您舉一個完整的示例,不可能在沒有看到您的代碼的情況下猜出問題所在 –