狂笑一君 发表于 2022-6-16 16:14

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)

135544 发表于 2022-6-16 16:33

//*[@id="j_chapter_list"]/li/a/@title

刘涛 发表于 2022-6-16 16:36

本帖最后由 刘涛 于 2022-6-16 16:50 编辑

藏在script里了,不在页面上 。
all_url_list = re.findall('chapter_list = (?P<grp0>\[.+?\]);',pic_text)
这样就可以匹配出来了,然后当json读就行了

magicianly 发表于 2022-6-16 16:40

你找错了,源代码里面,,这是script里面加载的

三滑稽甲苯 发表于 2022-6-16 16:44

js动态加载的吧

亿联网络 发表于 2022-6-16 16:58

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'])

nue12138 发表于 2022-6-16 16:58

```
//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
```

mokson 发表于 2022-6-16 17:04

狂笑一君 发表于 2022-6-16 17:41

原来是js!?还没学,等我去看看教学{:1_909:}

89684828 发表于 2022-6-16 19:27

亿联网络 发表于 2022-6-16 16:58
import re

import requests


做得很好,支持一下!
页: [1] 2
查看完整版本: xpath获取不了href和 title