Python 当我使用urllib2对wibsite进行爬网时,但没有标签,例如html,body

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

\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'

试试这个:

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']