Python 当我使用urllib2对wibsite进行爬网时,但没有标签,例如html,body
\x10\X0\X0\X0\X0\X0\X0\X0\X0\X0\X0\X0\X0\X0\X0\X0\X0\X0\X0\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\xe5\xaf\xf0~Y\xd5\xd5\xa8\xeeF\x83\xa7'试试这个:Python 当我使用urllib2对wibsite进行爬网时,但没有标签,例如html,body,python,urllib2,labels,Python,Urllib2,Labels,\x10\X0\X0\X0\X0\X0\X0\X0\X0\X0\X0\X0\X0\X0\X0\X0\X0\X0\X0\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7\X7
import urllib2
url = 'http://www.bilibili.com/video/av1669338'
user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"
headers={"User-Agent":user_agent}
request=urllib2.Request(url,headers=headers)
response=urllib2.urlopen(request)
text = response.read()
text[:100]
导入请求
从bs4导入BeautifulSoup
def data():
url=“”
user_agent=“Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/51.0.2704.103 Safari/537.36”
headers={“用户代理”:用户\代理}
response=requests.get(url,headers=headers)
看起来该URL提供的是(二进制)视频内容,而不是HTML。您希望看到什么?我想抓取标签(),内容值是什么,但它没有这个标签,甚至没有html标签,我不知道发生了什么。响应是gzip编码的参见
1F 8B
或。\x1f\x8b
是gzip的神奇数字/标题定义参见:或谢谢!你能告诉我为什么使用bs4可以解决这个问题吗?@fan问题是我们在这里使用r请求
而不是urllib2
,然后我们将响应的内容传递给bs4以非常轻松地找到元素。对于请求
和urllib2
的差异,您可以参考感谢!这对我非常有帮助。祝您好运
import bs4, requests
res = requests.get("http://www.bilibili.com/video/av1669338")
soup = bs4.BeautifulSoup(res.content, "lxml")
result = soup.find("meta", attrs = {"name":"keywords"}).get("content")
print result
data = response.content
_html = BeautifulSoup(data)
_meta = _html.head.select('meta[name=keywords]')
print _meta[0]['content']