【问题标题】:How to scrape span content using urllib2?如何使用 urllib2 抓取跨度内容?
【发布时间】:2014-06-13 09:49:42
【问题描述】:

我想抓取社交书签网站中提到的所有 *.wordpress 网址。页面中的 url 格式如下:

<span class="domain">somedomain.com </span>

这是我想出的:

import os
import urllib2
import re
from os.path import basename
from urlparse import urlsplit
import time


baseurl = 'https://targetwebsite/pages/'

print baseurl


spage = int(raw_input("Start page?"))
epage = int(raw_input("End page?"))

for p in range (spage, epage):
    url= baseurl+ str(p)
    print url
    urlContent = urllib2.urlopen(url).read()
    #WHAT REGEXP HERE?
    domainUrls = re.findall('span .*.wordpress.com (.*?) ', urlContent)

    try:

    for dUrl in domainUrls:
        print dUrl
 
    except:
    print "an error occured"
    pass 

我尝试了不同的正则表达式,但都没有奏效。感谢您的帮助。

【问题讨论】:

  • 欢迎来到 Stack Overflow!请解释您所说的“不工作”是什么意思。请包含完整回溯(如果存在)。
  • 使用 HTML 解析器,例如 BeautifulSoup。
  • @Veedrac。谢了哥们。我是 Python 新手,没有任何追溯。打印语句没有显示任何内容。
  • @ComputerFellow 你介意解释一下吗?
  • @starluv 我建议您查找与 HTML 匹配的正则表达式,然后将其复制。肯定有数百个。

标签: python urllib2


【解决方案1】:

一个松散的答案就是

([^ ]*\.)?wordpress.com(\/[^ ]*)?

【讨论】:

    猜你喜欢
    • 2014-06-03
    • 1970-01-01
    • 1970-01-01
    • 2013-07-15
    • 1970-01-01
    • 2021-09-17
    • 2012-01-14
    • 2011-08-23
    • 2019-01-10
    相关资源
    最近更新 更多