【问题标题】:data scraping return a blank for the following link数据抓取为以下链接返回空白
【发布时间】:2014-09-22 08:15:10
【问题描述】:

我需要从以下链接中抓取数据 http://164.100.47.132 /LssNew/members/homepage.aspx?mpsno=4589(详细信息选区;政党名称;当前地址和永久地址)

我发现这些标签本质上过于通用,无法形成抓取这些数据的基础。有人可以指导我获取这些数据吗?

我正在使用的示例:

import urllib
import re

htmlfile = urllib.urlopen("http:// 164. 100. 47. 132/LssNew/members/homepage.aspx?mpsno=4433")
htmltext = htmlfile.read()
##regex = '<span id="ctl00_ContPlaceHolderMain_Homepagetest1_Label4">(.+?)</span>'
regex = '<span class="style13">(.+?)</span>'
pattern = re.compile(regex)
print htmltext
print pattern
lsmember = re.findall(pattern,htmltext)

print lsmember[0:100]

【问题讨论】:

  • 您能否展示一下您迄今为止尝试过的以及您的解决方案中没有解决的问题?
  • import urllib import re htmlfile = urllib.urlopen("164.100.47.132/LssNew/members/homepage.aspx?mpsno=4433") htmltext = htmlfile.read() ##regex = '(.+?) span>' regex = '(.+?)' pattern = re.compile(regex) print htmltext print pattern lsmember = re.findall(pattern,htmltext) print lsmember[0 :100]
  • 请编辑问题,因为您可能已经注意到 cmets 并没有很好地格式化代码。
  • 也许使用http://scrapy.orgBeautifulSoup 之类的东西可以更好地帮助您提取正确的数据。当涉及到 HTML 和 Scrapy 和 BeautifulSoup 支持 DOM 解析器时,Regex 有点错误,这使它更容易一些。 (不过它需要更多样板文件)

标签: python python-2.7 web-scraping


【解决方案1】:

是否必须使用您自己的脚本来废弃此网站?

有一种服务可以通过抓取网页创建 API REST,并且通常可以轻松找到您自己的模式。

这项服务是https://www.kimonolabs.com/

它是免费的,但它是第三方服务,所以我不知道您是否必须使用自己的脚本,或者它对您来说很棒。有些网站很难报废,像这种情况,你需要的信息在一个没有类的表中。

此服务还支持 URL 中的参数,因此您可以为多个可能的 html 文件创建一个参数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-13
    • 1970-01-01
    • 2013-10-01
    • 1970-01-01
    • 2019-03-18
    • 1970-01-01
    相关资源
    最近更新 更多