我是网络抓取的新手,我想获取页面的html。但是当我运行程序时,我得到html为空,控制台显示javascript
from bs4 import BeautifulSoup
import requests
import urllib
url = "https://linkedin.com/company/1005"
r = requests.get(url)
html_content = r.text
soup = BeautifulSoup(html_content,'html.parser')
print (soup.prettify())
答案 0 :(得分:5)
问题不是BeautifulSoup
,而是服务器需要更多信息才能让您访问此页面。现在它发送JavaScript代码,将您重定向到登录页面。
您需要User-Agent
标题才能获得此页面。
您可以使用http://httpbin.org/get在浏览器中查看User-Agent
。
import requests
from bs4 import BeautifulSoup
headers = {'User-Agent': 'Mozilla/5.0'}
url = "https://linkedin.com/company/1005"
r = requests.get(url, headers=headers)
print(r.text)
soup = BeautifulSoup(r.text, 'html.parser')
print(soup.prettify())