【发布时间】:2016-12-24 16:58:35
【问题描述】:
目前正在为产品抓取 LINK,将我的脚本部署在 ubuntu 服务器上。该站点要求您指定 User-Agent 和 url 标头相关的东西。当我使用 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 Error 403: Forbidden 但这只会发生在 Ubuntu 上,不会发生在本地机器上
【问题讨论】:
-
不建议human的是
'Python-urllib/2.1'
标签: python html ubuntu url beautifulsoup