Python 从网站抓取/解析

Python 从网站抓取/解析,python,parsing,web,screen-scraping,urllib2,Python,Parsing,Web,Screen Scraping,Urllib2,我遵循本教程:其中一行有问题 使用: import urllib2 from urllib, import urlopen, import re, import cookielib from cookielib, import CookieJar 从该站点中删除: 查看my webbrowser中的源代码,每个标题都用以下文本包装: <title><![CDATA[New Pan American Health Organization Report Reveals

我遵循本教程:其中一行有问题

使用:

import urllib2 from urllib, 
import urlopen, 
import re, 
import cookielib from cookielib, 
import CookieJar 
从该站点中删除:

查看my webbrowser中的源代码,每个标题都用以下文本包装:

<title><![CDATA[New Pan American Health Organization Report Reveals Stunning Suicide Statistics]]></title>

以下代码可以工作,但不是我想要的解决方案:

        titles = re.findall(r'CDATA(.*?)</title>',sourceCode)
        links = re.findall(r'<link>(.*?)</link>', sourceCode)
titles=re.findall(r'CDATA(.*?),源代码)
links=re.findall(r'(.*?),源代码)
我希望它找到链接头,然后忽略以下几行文本,直到CDATA之后。以下是本教程的建议:

findall(r'<title>.*?CDATA[(.*?)]><\title>',sourceCode)
findall(r'.*?CDATA[(.*?)]>,源代码)

[]括号似乎给我带来了问题。它们不在教程代码中,因为站点似乎已更新,现在它们在HTML中。如有任何建议,将不胜感激!!请尽量简单

方括号是正则表达式中的保留字符,需要转义(带反斜杠)。 这应该起作用:

findall(r'<title>.*?CDATA\[(.*?)\]><\title>',sourceCode)
findall(r'.*?CDATA\[(.*?\]>,源代码)

方括号是正则表达式中的保留字符,需要转义(带反斜杠)。 这应该起作用:

findall(r'<title>.*?CDATA\[(.*?)\]><\title>',sourceCode)
findall(r'.*?CDATA\[(.*?\]>,源代码)

方括号是正则表达式中的保留字符,需要转义(带反斜杠)。 这应该起作用:

findall(r'<title>.*?CDATA\[(.*?)\]><\title>',sourceCode)
findall(r'.*?CDATA\[(.*?\]>,源代码)

方括号是正则表达式中的保留字符,需要转义(带反斜杠)。 这应该起作用:

findall(r'<title>.*?CDATA\[(.*?)\]><\title>',sourceCode)
findall(r'.*?CDATA\[(.*?\]>,源代码)

不要为此使用正则表达式。利用库实现此功能。下面是一个关于如何利用它的简单例子

首先,您需要安装
feedparser

pip install feedparser
现在,一个非常简单的脚本将获取提要上所有文章的标题:

import feedparser

feed_url = "http://www.huffingtonpost.com/feeds/index.xml"
feed = feedparser.parse(feed_url)

for item in feed['items']:
    print item['title']
在本文中,该脚本输出以下内容:

英国石油公司在《政治》杂志上撰文称,英国石油公司对墨西哥湾的损害被夸大了
多米尼加共和国公路旅行最佳的6个原因
给有离婚孩子的父母的万圣节不给糖就捣蛋的小贴士
我不明白南瓜片,还有一个季节性挑战的母亲的其他自白
当你端上晚餐时,你带什么到桌上?
曾经是一名士兵,今天是一名心脏病患者。从外部需求到内部指导的旅程
这个万圣节让我们把超级英雄这个词带回去
“我的一个朋友当选为美国总统”
慢镜头中的火车失事(第五部分):退休储蓄危机
10名布鲁克林珠宝设计师拥有自己的店铺
墨西哥政府——告诉我们真相——阿约茨纳帕43号在哪里?
疯子还是顽皮?
凯拉什·曼萨洛娃:终极朝圣
为什么丑闻是同性恋权利运动史上最重要的节目之一
联邦政府放宽母公司贷款计划的资格

不要为此使用正则表达式。利用库实现此功能。下面是一个关于如何利用它的简单例子

首先,您需要安装
feedparser

pip install feedparser
现在,一个非常简单的脚本将获取提要上所有文章的标题:

import feedparser

feed_url = "http://www.huffingtonpost.com/feeds/index.xml"
feed = feedparser.parse(feed_url)

for item in feed['items']:
    print item['title']
在本文中,该脚本输出以下内容:

英国石油公司在《政治》杂志上撰文称,英国石油公司对墨西哥湾的损害被夸大了
多米尼加共和国公路旅行最佳的6个原因
给有离婚孩子的父母的万圣节不给糖就捣蛋的小贴士
我不明白南瓜片,还有一个季节性挑战的母亲的其他自白
当你端上晚餐时,你带什么到桌上?
曾经是一名士兵,今天是一名心脏病患者。从外部需求到内部指导的旅程
这个万圣节让我们把超级英雄这个词带回去
“我的一个朋友当选为美国总统”
慢镜头中的火车失事(第五部分):退休储蓄危机
10名布鲁克林珠宝设计师拥有自己的店铺
墨西哥政府——告诉我们真相——阿约茨纳帕43号在哪里?
疯子还是顽皮?
凯拉什·曼萨洛娃:终极朝圣
为什么丑闻是同性恋权利运动史上最重要的节目之一
联邦政府放宽母公司贷款计划的资格

不要为此使用正则表达式。利用库实现此功能。下面是一个关于如何利用它的简单例子

首先,您需要安装
feedparser

pip install feedparser
现在,一个非常简单的脚本将获取提要上所有文章的标题:

import feedparser

feed_url = "http://www.huffingtonpost.com/feeds/index.xml"
feed = feedparser.parse(feed_url)

for item in feed['items']:
    print item['title']
在本文中,该脚本输出以下内容:

英国石油公司在《政治》杂志上撰文称,英国石油公司对墨西哥湾的损害被夸大了
多米尼加共和国公路旅行最佳的6个原因
给有离婚孩子的父母的万圣节不给糖就捣蛋的小贴士
我不明白南瓜片,还有一个季节性挑战的母亲的其他自白
当你端上晚餐时,你带什么到桌上?
曾经是一名士兵,今天是一名心脏病患者。从外部需求到内部指导的旅程
这个万圣节让我们把超级英雄这个词带回去
“我的一个朋友当选为美国总统”
慢镜头中的火车失事(第五部分):退休储蓄危机
10名布鲁克林珠宝设计师拥有自己的店铺
墨西哥政府——告诉我们真相——阿约茨纳帕43号在哪里?
疯子还是顽皮?
凯拉什·曼萨洛娃:终极朝圣
为什么丑闻是同性恋权利运动史上最重要的节目之一
联邦政府放宽母公司贷款计划的资格

不要为此使用正则表达式。利用库实现此功能。下面是一个关于如何利用它的简单例子

首先,您需要安装
feedparser

pip install feedparser
现在,一个非常简单的脚本将获取提要上所有文章的标题:

import feedparser

feed_url = "http://www.huffingtonpost.com/feeds/index.xml"
feed = feedparser.parse(feed_url)

for item in feed['items']:
    print item['title']
在本文中,该脚本输出以下内容:

英国石油公司在《政治》杂志上撰文称,英国石油公司对墨西哥湾的损害被夸大了
多米尼加共和国公路旅行最佳的6个原因
给父母的万圣节不给糖就捣蛋的小贴士