xpath获取不了href和 title
本帖最后由 狂笑一君 于 2022-6-16 16:17 编辑目标网址:]https://hltbd.com//comic/11709 xpaht无法获取红框里的属性!?这是反爬机制吗?
if __name__ == "__main__":
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'
}
# 采集页面
url = 'https://hltbd.com//comic/11709'
pic_text = requests.get(url, headers=headers).text
#pic_text = pic_text.encode('iso-8859-1').decode('gbk')
pic_tree = etree.HTML(pic_text)
book_name = pic_tree.xpath('//div[@class="content"]/h1/@title')# 获取漫画名称
print(book_name)
book_chapter_url = pic_tree.xpath('//ol[@id="j_chapter_list"]//a/@href')# 获取漫画章节链接
book_chapter_url_name = pic_tree.xpath('//ol[@id="j_chapter_list"]//a/@titlie')# 获取漫画章节
print(book_chapter_url, book_chapter_url_name) //*[@id="j_chapter_list"]/li/a/@title
本帖最后由 刘涛 于 2022-6-16 16:50 编辑
藏在script里了,不在页面上 。
all_url_list = re.findall('chapter_list = (?P<grp0>\[.+?\]);',pic_text)
这样就可以匹配出来了,然后当json读就行了 你找错了,源代码里面,,这是script里面加载的 js动态加载的吧 import re
import requests
if __name__ == "__main__":
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'
}
# 采集页面
url = 'https://hltbd.com//comic/11709'
pic_text = requests.get(url, headers=headers).text
html_data = pic_text.strip()
json_data = re.findall('var chapter_list = (.*?);', html_data)
for i in eval(json_data):
print(i['name'], i['url']) ```
//ol[@id='j_chapter_list']/li[@class='item']/a/@title
```
结果:`第1话 陨落的天才(上)`
```
//ol[@id='j_chapter_list']/li[@class='item']/a/@title
```
结果:
```
第1话 陨落的天才(上)
第2话 陨落的天才(中)
第3话 陨落的天才(下)
第4话 休妻(上)
第5话 休妻(中)
第6话 休妻(下)
第7话 拜师(上)
第8话 拜师(中)
第9话 拜师(下)
第10话 坊市(上)
第11话 坊市(中)
第12话 坊市(下)
第13话 冲突(上)
第14话 冲突(中)
第15话 冲突(下)
第16话 筑基灵液(上)
第17话 筑基灵液(中)
第18话 筑基灵液(下)
第19话 修炼(上)
第20话 修炼(中)
```
===================================
```
//ol[@id='j_chapter_list']/li[@class='item']/a/@href
```
结果:`/chapter/207314`
```
//ol[@id='j_chapter_list']/li[@class='item']/a/@href
```
结果:
```
/chapter/207314
/chapter/207315
/chapter/207316
/chapter/207317
/chapter/207318
/chapter/207319
/chapter/207320
/chapter/207321
/chapter/207322
/chapter/207323
/chapter/207324
/chapter/207325
/chapter/207326
/chapter/207327
/chapter/207328
/chapter/207329
/chapter/207330
/chapter/207331
/chapter/207332
/chapter/207333
``` 原来是js!?还没学,等我去看看教学{:1_909:} 亿联网络 发表于 2022-6-16 16:58
import re
import requests
做得很好,支持一下!
页:
[1]
2