python - 这个字段的src属性如何用xpath选择?
PHPz
PHPz 2017-04-17 17:41:53
0
5
626
<img class="js-refreshCaptcha captcha" width="120" height="30" data-tip="s$t$看不清楚?换一张" alt="验证码" src="/captcha.gif?r=1462431202340&amp;type=login" style="display: block;">

这个字段的src属性如何用xpath选择?

我的写法是:

captcha_url = response.xpath('/html/body/p[1]/p/p[2]/p[2]/form/p[1]/p[3]/p/img/@src').extract()

中间的xpath是从chrome直接copy的
但是无法显示出src属性,最后弹出的是[]
不知道哪里有问题、
另外如果知道css选择器怎么写的,也可以告知一下,我看到class中有空格,不知道如何选择.
我的写法是:

captcha_url = response.css('.js-refreshCaptcha .captcha::attr(src)').extract()

从Scrapy命令行中一步步测试得到,是不是因为是JS动态生成的原因?才会导致@src属性无法获取?

PHPz
PHPz

学习是最好的投资!

모든 응답(5)
迷茫

캡처된 HTML을 필터링하고 싶으신가요? 일반 검색을 고려해 볼 수 있습니다

大家讲道理

Chrome에는 앱 스토어에서 다운로드할 수 있는 xpath-helper라는 도구가 있습니다. 이 도구를 사용하여 xpath 구문이 올바른지 확인할 수 있습니다.
또한 구문은 올바르지만 프로그램에서 추출할 수 없는 경우 원본 웹페이지가 동적 페이지이므로 jsjs로 구문 분석해야 한다는 점을 고려해야 합니다.

PHPzhong

브라우저에는 내결함성 메커니즘이 있으며 비표준 html 태그를 수정하므로 콘솔에 표시되는 페이지 구조는 코드를 사용하여 요청한 페이지 구조와 다를 수 있습니다.
해결책:
선택기의 범위를 느슨하게 합니다.
클래스를 사용하여
코드에서 중단점을 찾고 단일 단계를 실행하여 이 태그의 xpath 규칙을 찾습니다.

黄舟

저는 보통 브레인리스 솔루션인 bs4를 사용합니다. 일반 규칙도 가능하지만 머리가 아프네요

으아악
大家讲道理

으아악

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿