抓取网页数据违法吗((将以下网站地址视为占位符):我的脚本 )
优采云 发布时间: 2022-01-29 03:01抓取网页数据违法吗((将以下网站地址视为占位符):我的脚本
)
我正在尝试创建一个脚本,我可以使用它来解析 网站 中的多个字段而不会被阻止。我希望从中获取数据的站点需要凭据才能访问其内容。如果不是为了登录,我可以使用代理轮换来绕过速率限制。
当我从基于登录的网站上抓取内容时,我试图找出任何方法来避免在从那里抓取数据时被该网站禁止。具体来说,我的脚本目前可以完美地从站点获取内容,但是如果我继续抓取,我的 IP 地址会在此过程中被禁止。
到目前为止我所写的内容(将以下 网站 地址视为占位符):
import requests
from bs4 import BeautifulSoup
url = "https://stackoverflow.com/users/login?ssrc=head&returnurl=https%3a%2f%2fstackoverflow.com%2f"
with requests.Session() as s:
s.headers['User-Agent'] = 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36'
req = s.get(url)
payload = {
"fkey": BeautifulSoup(req.text,"lxml").select_one("[name='fkey']")["value"],
"email": "some email",
"password": "some password",
}
res = s.post(url,data=payload)
soup = BeautifulSoup(res.text,"lxml")
for post_title in soup.select(".summary > h3 > a.question-hyperlink"):
print(post_title.text)
从基于登录的网站抓取数据时如何避免被禁止?