requests.get()获取的网页代码如下图所示

浏览器查看的网页源码如下图所示

我的python代码如下所示(这是一个爬取途牛中银子岩的景点信息的,但是爬取景点名字的时候显示找不到,所以就用下面的代码输出获取到的网页源码,发现获取到的于浏览器看到的不一样,去查了很多的解决方法,补全headers的所有信息,如host、cookies等等,用lxml或html parser进行解析),看网上说浏览器看到的源码中显示的信息,说明该信息不是用js显示的,我看了network中的xhr和js也找不到景点名,说明景点名是静态加载的,但是为什么会发生上面这样的情况呢,怎么获取得到浏览器看到的源码,或者说得到第一张图片这样的源码怎么爬取景点名,我知道用webdriver可以解决这个问题,但是听说webdriver效率比较低,所以想试试其他方法,所以想问问有没有除了webdriver的其他方法去解决这个问题
from bs4 import BeautifulSoup as BS
import requests
import csv
import bs4
import re
from lxml import etree
def get_html(url):
headers={
'Cookie': '_tact=MWJkMmI3MzEtOTQ5ZC1jZjk5LTI1NmUtZTljNmRjYjUxNTYx',#太长了,这里删了一部分cookie的内容
'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36'}
try:
r=requests.get(url)
r.raise_for_status()
r.encoding=r.apparent_encoding
return r
except:
print('无法连接服务器!!!')
def get_sight_info(url):#采集景点信息
html=get_html(url)
if html=='':
exit()
print(html.text)
print(" ")
def main():
url="http://www.tuniu.com/menpiao/1171#/index"
get_sight_info(url)
main()