老师您好,有两个问题,爬京东页面时useragent加了,编码也是utf-8,但还是乱码;第二个问题是tab里面多个选项卡怎么获取呢,如图,获取的多个数组为空
来源:2-9 爬取京东网的数据

百里宏音
2020-03-02
import requests
from lxml import html
def spider_jd(sn):
url = 'https://search.jd.com/Search?keyword={0}'.format(sn)
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'
}
#获取HTML
html_doc = requests.get(url,headers=headers).text
#获取xpath对象
selector = html.fromstring(html_doc)
#找到列表集合
ul_list = selector.xpath('//div[@id="J_goodsList"]/ul/li')
print(len(ul_list))
#解析对应的内容,标题,价格,链接
for li in ul_list:
#标题
title = li.xpath('div/div[@class="p-name"]/a/@title')
print(title)
if __name__ == '__main__':
sn = 'python'
spider_jd(sn)
写回答
1回答
-
你可以打印下看看拿到的请求结果的编码
resp = requests.get(url,headers=headers) print(resp.encoding) # 查看编码 resp.encoding = 'utf-8' # 设置新的编码 html_doc = resp.text
022020-03-04
相似问题