python - BeautifulSoup 解析返回空集

标签 python django parsing beautifulsoup mechanize

( 更新代码 就在下面)

我有一个类:UrlData , 生成一个 url 列表:

for url in urls:
    rawMechSiteInfo = mech.open(url)  #mechanize browse each url
    mech_response = mech.response()
    headers = mech_response.info()
    print "headers ", headers.getheader('Content-Type').encode('utf-8')
return

此行:print "headers ", headers.getheader('Content-Type').encode('utf-8')
什么都不输出

如果我做 print url_data.url_list()在我的 view ,它的 throw :
<Scan.urldata.UrlData object at 0x103e73f50>

我只是想解析一个 html 的 src标记如:
<div class="s">
   <div>
      <div class="f kv" style="white-space:nowrap">
         <cite class="vurls">www.somewebsite.com/</cite>‎
      </div>
   </div>
</div>

以下正在工作 在解析整个文档时:
HarvestLinks = 'h3',attrs={'class': 'r'}

或者
HarvestLinks = BSObjOfUrl.find('cite','vurls')

它似乎工作正常,但最后一个只返回一个结果并且有多个。

感谢那些到目前为止试图提供帮助的人,有什么进一步的想法吗?

最佳答案

检查 headers 变量的输出并报告回来,您似乎仍然有错误的编码:

def url_list(self):
    #setup mechanize
    ###
    ### Mechanize settings are here.
    ###

    for url in urls:
        rawMechSiteInfo = mech.open(url)  #mechanize browse each url
        mech_response = mech.response()
        headers = mech_response.info()
        print "headers ", headers.getheader('Content-Type')
        #results = unicode(mech_response.read()) 
        #BSObjOfUrl = BeautifulSoup(results)
        #HarvestLinks = BSObjOfUrl.find_all(u'cite', class_='vurls')
    #return HarvestLinks
    return

关于python - BeautifulSoup 解析返回空集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19730110/

相关文章:

python - 从 numpy 数组到 itk 图像

django - 在 django-registration 中使用电子邮件作为用户名

django - 如何在 DJango 管理界面中显示外键反向查找列表?

java - 使用java读取pdf文件

parsing - 如何在Go Lang中从连续字符串中提取(解析)整数

python - Pandas :从系列中删除前导和尾随零值

python - 如何将 tkinter 事件用于 'continue' 或暂停不同的 while 循环?

python - 如何比较两个不同列的数据而不管不同文本文件中的顺序?

python - 无法创建 django 测试数据库

f# - 使用 OcamlYacc/FsYacc 表示可选语法和重复