Я написал сценарий, который сбрасывает URL-адрес. Он отлично работает в ОС Linux. Но я получаю ошибку http 503 при работе в Windows 7. У URL-адреса есть некоторые проблемы. Я использую python 2.7.11. Пожалуйста, помогите. Ниже приведен сценарий:Скрипт сценария работает в Linux, но не в Windows 7?
import sys # Used to add the BeautifulSoup folder the import path
import urllib2 # Used to read the html document
if __name__ == "__main__":
### Import Beautiful Soup
### Here, I have the BeautifulSoup folder in the level of this Python script
### So I need to tell Python where to look.
sys.path.append("./BeautifulSoup")
from bs4 import BeautifulSoup
### Create opener with Google-friendly user agent
opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
### Open page & generate soup
### the "start" variable will be used to iterate through 10 pages.
for start in range(0,1000):
url = "http://www.google.com/search?q=site:theknot.com/us/&start=" + str(start*10)
page = opener.open(url)
soup = BeautifulSoup(page)
### Parse and find
### Looks like google contains URLs in <cite> tags.
### So for each cite tag on each page (10), print its contents (url)
file = open("parseddata.txt", "wb")
for cite in soup.findAll('cite'):
print cite.text
file.write(cite.text+"\n")
# file.flush()
# file.close()
В случае, если запустить его в Windows 7, ЦМД бросает http503 ошибке, говорящее вопрос с URL. URL-адрес отлично работает в ОС Linux. Если URL-адрес действительно неверный, предложите альтернативы.
Это не связано, но знаете ли вы вместо того, чтобы генерировать 10 запросов, вы можете добавить '& num = 100' в конце вашего поискового URL и сразу получить 100 результатов? – spectras
Google может блокировать ваш IP из-за слишком большого количества подключений. – Barmar
На самом деле, очень хорошая точка @ Бармара. Это правда, что автоматические запросы противоречат Условиям использования Google, они могут блокировать вас. Странно, что это будет постоянно происходить из его Windows, а не из его Linux-бокса. – spectras