为什么我不能使用BeautifulSoup提取页面的小标题?

酷比K888

我正在尝试提取此页面的名称和副标题(例如)。提取名称没有问题,但副标题未成功。通过使用Chrome中的inspect元素,我确定子标题文本“ Canada Census,1901”已嵌入如下:

<div class="person-info">
    <div class="title ng-binding">Helen Brad in household of Geo Wilcock</div>
    <div class="subhead ng-scope ng-binding" data-ng-if="!recordPersonCentric">Canada Census, 1901</div>

因此,我将脚本编写如下:

import urllib2
import re
import csv
from bs4 import BeautifulSoup
import time

def get_FamSearch():

    link = "https://example.org/pal:/MM9.1.1/KH11-999"
    openLink = urllib2.urlopen(link)
    Soup_FamSearch = BeautifulSoup(openLink, "html")
    openLink.close()

    NameParentTag = Soup_FamSearch.find("tr", class_="result-item highlight-person")
    if NameParentTag:
        Name = NameParentTag.find("td", class_="result-value-bold").get_text(strip=True)
        name_decode = Name.encode("ascii", "ignore")
        print name_decode

    SubheadTag = Soup_FamSearch.find("div", class_="subhead ng-scope ng-binding")
    if SubheadTag:
        print SubheadTag.get_text(strip=True)

get_FamSearch()

这是结果,而无法找到和提取子标题:

Helen Brad
[Finished in 2.2s]
ec

您通过的页面urllib2不包含divwithsubhead类。实际标题是借助在浏览器端执行的javascript异步构建的。

所需数据的显示方式有所不同,这对我有用:

print Soup_FamSearch.find('dt', text='Title').find_next_sibling('dd').text.strip()

印刷:

Canada Census, 1901

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么我不能使用BeautifulSoup抓取某些标签?

来自分类Dev

为什么我不能使用BeautifulSoup抓取某些标签?

来自分类Dev

为什么我不能使用Python加载此页面?

来自分类Dev

为什么我不能使用Python加载此页面?

来自分类Dev

为什么我不能使用asyncTask

来自分类Dev

为什么在使用BeautifulSoup刮擦表格标题以删除不需要的HTML时不能使用“ .text”

来自分类Dev

为什么在使用BeautifulSoup刮擦表格标题以删除不需要的HTML时不能使用“ .text”

来自分类Dev

为什么不能使用“标题”作为UITextField的引用出口?

来自分类Dev

为什么我不能使用Django Signals重新加载HTML页面

来自分类Dev

为什么我不能使用jQuery将HTML动态添加到页面?

来自分类Dev

为什么我无法使用 urllib、beautifulsoup 访问此页面的完整 html

来自分类Dev

为什么我不能使用jQuery设置div背景?

来自分类Dev

为什么我不能使用IO构造函数

来自分类Dev

为什么我不能使用pyCurl发布到Django?

来自分类Dev

lua:为什么我不能使用包裹名称?

来自分类Dev

为什么我不能使用awscli连接到AWS?

来自分类Dev

为什么我不能使用javascript清除输入字段?

来自分类Dev

为什么我不能使用int访问map键?

来自分类Dev

为什么我不能使用PyPNG来回传送图像?

来自分类Dev

为什么我不能使用索引查找作为起点?

来自分类Dev

为什么我不能使用Template.FindName()

来自分类Dev

为什么我不能使用Uri类打电话?

来自分类Dev

为什么我不能使用prepareForSegue传递值?

来自分类Dev

为什么我不能使用std:cin作为参数

来自分类Dev

为什么我不能使用jQuery功能

来自分类Dev

为什么我不能使用stopwatch.Restart()?

来自分类Dev

斯威夫特:为什么我不能使用'contains(:)“?

来自分类Dev

Haskell:为什么我不能使用liftM线。getContents

来自分类Dev

为什么我不能使用代理正确获取数据?

Related 相关文章

  1. 1

    为什么我不能使用BeautifulSoup抓取某些标签?

  2. 2

    为什么我不能使用BeautifulSoup抓取某些标签?

  3. 3

    为什么我不能使用Python加载此页面?

  4. 4

    为什么我不能使用Python加载此页面?

  5. 5

    为什么我不能使用asyncTask

  6. 6

    为什么在使用BeautifulSoup刮擦表格标题以删除不需要的HTML时不能使用“ .text”

  7. 7

    为什么在使用BeautifulSoup刮擦表格标题以删除不需要的HTML时不能使用“ .text”

  8. 8

    为什么不能使用“标题”作为UITextField的引用出口?

  9. 9

    为什么我不能使用Django Signals重新加载HTML页面

  10. 10

    为什么我不能使用jQuery将HTML动态添加到页面?

  11. 11

    为什么我无法使用 urllib、beautifulsoup 访问此页面的完整 html

  12. 12

    为什么我不能使用jQuery设置div背景?

  13. 13

    为什么我不能使用IO构造函数

  14. 14

    为什么我不能使用pyCurl发布到Django?

  15. 15

    lua:为什么我不能使用包裹名称?

  16. 16

    为什么我不能使用awscli连接到AWS?

  17. 17

    为什么我不能使用javascript清除输入字段?

  18. 18

    为什么我不能使用int访问map键?

  19. 19

    为什么我不能使用PyPNG来回传送图像?

  20. 20

    为什么我不能使用索引查找作为起点?

  21. 21

    为什么我不能使用Template.FindName()

  22. 22

    为什么我不能使用Uri类打电话?

  23. 23

    为什么我不能使用prepareForSegue传递值?

  24. 24

    为什么我不能使用std:cin作为参数

  25. 25

    为什么我不能使用jQuery功能

  26. 26

    为什么我不能使用stopwatch.Restart()?

  27. 27

    斯威夫特:为什么我不能使用'contains(:)“?

  28. 28

    Haskell:为什么我不能使用liftM线。getContents

  29. 29

    为什么我不能使用代理正确获取数据?

热门标签

归档