【发布时间】:2020-03-21 15:44:35
【问题描述】:
我想用Python 和BeautifulSoup 制作谷歌新闻scraper,但我读到有可能会被禁止。
我还了解到,我可以通过使用一些轮换代理和轮换 IP 地址来防止这种情况。
我唯一能做的就是旋转User-Agent。
您能告诉我如何添加轮换代理和轮换 IP 地址吗?
我知道它应该添加到request.get() 部分,但我不知道如何。
这是我的代码:
from bs4 import BeautifulSoup
import requests
headers = {'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36'}
term = 'usa'
page=0
for page in range(1,5):
page = page*10
url = 'https://www.google.com/search?q={}&tbm=nws&sxsrf=ACYBGNTx2Ew_5d5HsCvjwDoo5SC4U6JBVg:1574261023484&ei=H1HVXf-fHfiU1fAP65K6uAU&start={}&sa=N&ved=0ahUKEwi_q9qog_nlAhV4ShUIHWuJDlcQ8tMDCF8&biw=1280&bih=561&dpr=1.5'.format(term,page)
print(url)
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
headline_text = soup.find_all('h3', class_= "r dO0Ag")
snippet_text = soup.find_all('div', class_='st')
news_date = soup.find_all('div', class_='slp')
print(len(news_date))
【问题讨论】:
-
这能回答你的问题吗? Is it ok to scrape data from Google results?
-
不,我的问题是如何设置一些参数来防止被ban。
标签: python beautifulsoup proxy