美好的一天! 我目前正在为阿里巴巴网站制作一个网络刮刀。 我的问题是返回的源代码没有显示我感兴趣的一些部分。当我使用浏览器检查源代码时,数据就在那里,但是在使用BeautifulSoup时我无法检索它。 有什么提示吗?
来自bs4 import BeautifulSoup
def make_soup(url):
try:
html = urlopen(url).read()
except:
return None
return BeautifulSoup(html, "lxml")
url =" http://www.alibaba.com/Agricultural-Growing-Media_pid144" soup2 = make_soup(url)
我对使用Chrome的开发人员工具在图像中显示的突出显示部分感兴趣。但是当我尝试在文本文件中写入时,包括突出显示在内的某些部分无处可寻。有小费吗? TIA!
答案 0 :(得分:0)
您至少需要提供User-Agent
标头。
使用requests
package代替urllib2
的示例:
import requests
from bs4 import BeautifulSoup
def make_soup(url):
try:
html = requests.get(url, headers={"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36"}).content
except:
return None
return BeautifulSoup(html, "lxml")
url = "http://www.alibaba.com/Agricultural-Growing-Media_pid144"
soup = make_soup(url)
print(soup.select_one("a.next").get('href'))
打印http://www.alibaba.com/catalogs/products/CID144/2
。