import requests
import pandas as pd
from lxml import etree
url = 'http://bang.dangdang.com/books/bestsellers/01.00.00.00.00.00-recent30-0-0-1-1'
response = requests.get(url=url, headers=headers, timeout=10)
html_content = response.content.decode('gbk')
html = etree.HTML(html_content)
book_name = html.xpath('/html/body/div[2]/div[4]/div[2]/div[2]/div/div[2]/div[1]/a/text()')
print(book_name)
#为啥定位得到,但打印为空呢?
数据是动态加载的吧?你可以使用浏览器的开发者工具来检查网页加载时是否存在动态加载的数据。如果有的话,需要使用浏览器模拟操作来触发动态加载,再进行爬取。或者可以通过模拟 ajax 请求,直接获取动态加载的数据。