python web爬行

python web爬行,python,web-crawler,scrapy,Python,Web Crawler,Scrapy,可能重复: 最后一个问题因“模棱两可”而结束。因此,我将尝试在这里具体说明: 以这个网站为例: 以及底部给出的评论, 我需要能够打开审查者的个人资料,并提取年龄、性别和位置等信息(如果是公开的) 对于如何实现这一目标的逐步过程,我们将不胜感激 附言:这可以用刮痧吗 更新:假设我有一个包含用户姓名的数据库,并且我可以直接打开成员的个人资料,例如Lulak 如何从该页面中提取年龄、性别和位置 谢谢翻阅他们的两个个人资料页面,我发现这个div包含个人信息 <div id="amd" sty

可能重复:

最后一个问题因“模棱两可”而结束。因此,我将尝试在这里具体说明:

以这个网站为例:

以及底部给出的评论, 我需要能够打开审查者的个人资料,并提取年龄、性别和位置等信息(如果是公开的)

对于如何实现这一目标的逐步过程,我们将不胜感激

附言:这可以用刮痧吗

更新:假设我有一个包含用户姓名的数据库,并且我可以直接打开成员的个人资料,例如Lulak

如何从该页面中提取年龄、性别和位置


谢谢翻阅他们的两个个人资料页面,我发现这个div包含个人信息

<div id="amd" style="display: block">

我想你可以处理剩下的事情。

是的,这在Scrapy中是绝对可能的。如果你只是打开一个你知道的URL列表,而不是删除这个站点,我会说Scrapy太过分了

我建议使用HTML解析,它比BeautifulSoup(可以高达两个数量级)简单且速度快得多。对于HTTP,因为它非常简单

在下面的代码片段中,我使用XPath查询来查找正确的定义描述元素
//dl[dt/text()='term']//dd/text()
本质上是说“查找定义列表(dl)元素,该元素的定义术语的文本内容为'term'(
//dl[dt/text()='term']
),然后查找所有定义描述(dd)元素并获取它们的文本内容(
//dd/text()


看看mechanize()与beautifulsoup()的结合。可能是Scrapyth的替代品使用scrapy是可行的。检查这里的文档mechanize和scrapy都有相当简单的教程。试着完成这些第一步,如果你被卡住了,可以发帖提问。我刚刚完成了这篇粗糙的教程。我正在使用网站上的inspect元素查看源代码,但不知道如何提取信息。在您之前问题的评论中发布的链接有什么问题?()这将一步一步地教你如何废弃一个网站。然后你需要做的就是使它适应你想要的网站。您是否希望有人为您遇到的问题编写代码?非常感谢。正是我要找的!
<dt>Location:</dt> <dd>Switzerland</dd>
from StringIO import StringIO
import requests
from lxml import etree

response = requests.get("http://www.tripadvisor.in/members/SomersetKeithers")

parser = etree.HTMLParser()
tree   = etree.parse(StringIO(response.text), parser)

def get_definition_description(tree, term):
  description = tree.xpath("//dl[dt/text()='%s']//dd/text()" % term)
  if len(description):
    return description[0].strip()

print get_definition_description(tree, "Age:")
print get_definition_description(tree, "Gender:")
print get_definition_description(tree, "Location:")