gpt4 book ai didi

python - Ubuntu 中的 header 、用户代理、Url 请求

转载 作者:太空宇宙 更新时间:2023-11-03 15:50:59 24 4
gpt4 key购买 nike

目前正在抓取产品的 LINK,并将我的脚本部署在 ubuntu 服务器上。该站点要求您指定 User-Agent 和 url header 相关内容。当我使用 Ubuntu 并连接到 Ubuntu 上的代理服务器时,我的“hdr”变量应该在这个脚本中:

import urllib2
from bs4 import BeautifulSoup
import requests
from lxml import etree
import smtplib
import urllib2, sys
url = "http://www.sneakersnstuff.com/en/product/22422/adidas-superstar-80s"
hdr = {'User-Agent': 'Mozilla/5.0'}
req = urllib2.Request(url,headers=hdr)
page = urllib2.urlopen(req)

这个脚本在我的计算机上运行得很好,但是不确定我会指定什么作为 ubuntu 的浏览器或用户代理。

代码:

import urllib2
from bs4 import BeautifulSoup
import requests
from lxml import etree
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import urllib2, sys
url = "http://www.sneakersnstuff.com/en/product/22422/adidas-superstar-80s"
hdr = {'User-Agent': 'Mozilla/5.0'}
req = urllib2.Request(url,headers=hdr)
page = urllib2.urlopen(req)

soup = BeautifulSoup(page, "lxml")
result = soup.find_all("span", {"class":"availability"})

返回错误代码:urllib2.HTTPError: HTTP 错误 403: Forbidden但这仅发生在 Ubuntu 上,不会发生在本地计算机上

最佳答案

我不确定整个 urllib2 的事情,但如果你只是想获取 html 中的字符串,那么你在这里导入了太多的东西。对于您提供的网址,以下内容足以抓取文本:

from bs4 import BeautifulSoup
import requests

至于user-agent,这取决于你是否想让网站维护者知道你的存在,大多数情况下它与抓取本身的能力无关。对于某些网站,您可能希望隐藏您的用户代理,对于某些网站,您可能希望明确说明。对于您提供的网址,以下代码对我来说没有错误:

from bs4 import BeautifulSoup
import requests
url = "http://www.sneakersnstuff.com/en/product/22422/adidas-superstar-80s"
hdr = {'User-Agent': 'Mozilla/5.0'}

req = requests.Session()

page_raw = req.get(url, headers=hdr)

page_raw.status_code # This was 200

page_raw.encoding = "utf-8" # Just to be sure

page_text = page_raw.text

page_soup = BeautifulSoup(page_text, "lxml")


page_avaliablity = page_soup.find_all("span", class_="availability")

关于python - Ubuntu 中的 header 、用户代理、Url 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41315235/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com