塞在背包里的人 发表于 2020-6-7 19:44:39

请问这个数据怎么解析,有人知道吗

想爬取2016年豆瓣书籍年度榜单中的单月热门书籍,为什么爬取结果一直为空

liuzhengyuan 发表于 2020-6-7 19:50:20

麻烦给一下网站地址……

Twilight6 发表于 2020-6-7 19:53:03

。。。我发的过不了审?

Twilight6 发表于 2020-6-7 20:01:03

无语,Xpath 发内容都要过审核,所以只能发图片了

塞在背包里的人 发表于 2020-6-7 20:04:21

liuzhengyuan 发表于 2020-6-7 19:50
麻烦给一下网站地址……

https://book.douban.com/annual/2016?source=book_navigation
只爬取月度热门关注图书

塞在背包里的人 发表于 2020-6-7 20:07:00

Twilight6 发表于 2020-6-7 20:01
无语,Xpath 发内容都要过审核,所以只能发图片了

结果还是为空呀铁汁

Twilight6 发表于 2020-6-7 20:08:47

塞在背包里的人 发表于 2020-6-7 20:07
结果还是为空呀铁汁

代码拷贝发上来 你代码有问题

塞在背包里的人 发表于 2020-6-7 20:13:16

Twilight6 发表于 2020-6-7 20:08
代码拷贝发上来 你代码有问题

import requests
from lxml import etree
url = 'https://book.douban.com/annual/2016?source=book_navigation'
headers = {
    "User-Agent": 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36'
}
response = requests.get(url=url,headers=headers)
page_text = response.text
tree = etree.HTML(page_text)
title = tree.xpath('//ul/li/a/@title')
print(title)
麻烦大佬看一下

xiaosi4081 发表于 2020-6-7 20:16:03

塞在背包里的人 发表于 2020-6-7 20:13
麻烦大佬看一下

他那个数据不在html文件中
可能在其他文件中

Twilight6 发表于 2020-6-7 20:18:05

塞在背包里的人 发表于 2020-6-7 20:13
麻烦大佬看一下

不行网页应该被js动态渲染了要用 selenium 试试

xiaosi4081 发表于 2020-6-7 20:19:05

Twilight6 发表于 2020-6-7 20:18
不行网页应该被js动态渲染了要用 selenium 试试

这里看看
这里就有:
https://book.douban.com/ithil_j/activity/book_annual2016/widget/4

Twilight6 发表于 2020-6-7 20:21:19

xiaosi4081 发表于 2020-6-7 20:19
这里看看
这里就有:
https://book.douban.com/ithil_j/activity/book_annual2016/widget/4

1对

塞在背包里的人 发表于 2020-6-7 20:21:30

Twilight6 发表于 2020-6-7 20:18
不行网页应该被js动态渲染了要用 selenium 试试

奥奥奥,我说呢

塞在背包里的人 发表于 2020-6-7 20:22:30

xiaosi4081 发表于 2020-6-7 20:19
这里看看
这里就有:
https://book.douban.com/ithil_j/activity/book_annual2016/widget/4

这是什么?原网页吗

xiaosi4081 发表于 2020-6-7 20:24:09

本帖最后由 xiaosi4081 于 2020-6-7 20:36 编辑

塞在背包里的人 发表于 2020-6-7 20:22
这是什么?原网页吗

是储存数据的文件,你可以去抓取那里
代码:
import requests
import json
import re
url = 'https://book.douban.com/ithil_j/activity/book_annual2016/widget/4'
headers = {
    "User-Agent": 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36'
}
response = requests.get(url=url,headers=headers)
target = json.loads(response.text)
html_url = []
title = []
for i in range(0,9+1):
    html_url.append(target['res']['subjects']['m_url'])
    title.append(target['res']['subjects']['title'])
for each in range(0,9+1):
    print(title,html_url,sep = ':')
   




如果帮助到你了,记得设置最佳哈{:10_287:}
   
页: [1]
查看完整版本: 请问这个数据怎么解析,有人知道吗