我正在尝试从“ http://www.landwatch.com/Philippines_land_for_sale/Land ”中抓取数据; 我需要的是地址和价格信息。 我的方法是在python中使用漂亮的汤模块。 当我检查html页面和编码时,我陷入了困境。 可能有些人给我一些提示,以便我继续前进。 基本上,网络检查表明我需要的信息来自div class = clear属性,这是代码:

from lxml import html
import requests
import bs4 as bs
from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup

my_url = 'http://www.landwatch.com/Philippines_land_for_sale/Land'

#Openning up connection, grabbing the page
uClient = uReq(my_url)
page_html = uClient.read()
soup = bs.BeautifulSoup(page_html,'lxml')
g_data = soup.find_all("div",{"class": "clear property left"})
for item in g_data:
  print(item).contents[0]

谢谢,

#1楼 票数:2

您快要到了,地址和价格信息在<div class="propName"><a>元素中,在<div class="clear property left"> ,您可以在g_data内找到更深的g_data ,如下所示:

import requests
from bs4 import BeautifulSoup
my_url = 'http://www.landwatch.com/Philippines_land_for_sale/Land'
link=requests.get(my_url)
soup = BeautifulSoup(link.content, 'lxml')
g_data =soup.find_all('div',class_='clear property left')
for item in g_data:
    address_price_info = item.find("div",{"class":"propName"}).find('a').text
    print(address_price_info )

输出将是:

   Cebu City, Philippines  1185000, PHP
   Tagaytay, Philippines  $116,000
   Quezon City, Philippines  $2,837,000
   Sta Rosa Laguna, Philippines  15500, PHP
   Makati, Philippines  $5,947,826
   Puerto Princesa City, Philippines  $358,813
   Carcar, Philippines  35000000, PHP
   Lipa City, Philippines  $57,750
   Makati, Philippines  6400000, PHP
   Taytay, Philippines  $2,300,000
   Taguig, Philippines  $504,208
   Taguig City, Philippines  $13,760
   Quezon City, Philippines  58000000, PHP
   Cebu City, Philippines  7799030, PHP
   Las Pinas, Philippines  $468,000

更新:

如果您使用Chrome浏览器检查地址和价格信息,它将向您显示位置:

<div class="clear property left">

    <div class="margintop">

        ...             
        <div class="propName"> #Here is the address and price info
            <a href="/Cebu-City-Philippines-Land-for-sale/pid/119211639" onclick="WC('119211639', '-1');"> &nbsp; Cebu City, Philippines <BR/> 1185000, PHP</a>
        </div>


            <div>PAYMENT SCHEMES:\r\rReservation Fee : P20,000 (non refundable)\r\r1. SCHEME 1\rCash - 100% with the following discounts\r* 10% for 7 days payment\r* 8%...&nbsp;</div>

        ...

    </div>
    <div class="clear"></div>
</div>

  ask by M.C translate from so

未解决问题?本站智能推荐:

2回复

网页抓取中损坏的打印文字

我在下面的代码中从该站点刮了一个赛狗比赛,并尝试附加这些字段。它运行得很好,但是结果文本中填充了一些奇数字符,包括字符串和整数。结果应该像这样,其中左侧是字段名称,右侧是字段数据... 但是实际结果看起来像这样 例如,A6的“成绩”字段以U开头,后跟一个\\ xa0,“奖品”文本完全由\
1回复

网页抓取,退货通知

我想设置一个Python脚本来告诉我某种产品是否有库存。 目前,它会抓取下面的网址并解析网站的相关部分,但我无法弄清楚如何获取此输出变量(我将其称为stock并将其存储为另一个名为stock_history的变量),然后运行另一行以询问stock是否相等或不去stock_history 在
1回复

Python:执行Google搜索并仅从前10个结果中提取内容

我正在尝试编写一个脚本,对输入的关键字执行Google搜索,并仅返回前10个URL中的内容。 注意:内容专门指所搜索词所请求的内容,可以在返回的URL正文中找到。 我已经完成了搜索和前10个网址检索部分。 这是脚本: 但是,我不知道链接的结构就 只能从链接中检索内容 。 我可以使
2回复

过滤到BeautifulSoup中的特定类

我正在使用BeautifulSoup做这样的事情: 当我使用此过滤器时,我的理解是,我将获得所有带有属性或类名name的div标签。 但是,我不希望div标签的每个实例都具有属性name 。 我希望它们位于HTML文件的某个子树中的某些实例。 更具体地说,标签<u1 class
2回复

在python中从网络抓取结果中删除多余的表格

我的代码产生了我想删除的多余表。 我要删除除此表以外的所有其他表。 我的密码 我当前得到的结果是:表[['First Class','F,U','150%'],['P','125%'],['Business Class','J,C, D,I',“ 125%”],['高级经济舱','W'
1回复

divclass=“ng-scope”上的Python网络抓取

我是python的新手,我想从我最喜欢的广播电台网站上获取一些歌曲名称,但是无论如何,我都无法进入div ui-view="main.header" class="ng-scope"来获取歌曲名称。 使用我的代码,我只能从txt的第一级读取txt,但不能更深入: 歌曲列表的刷新速率为10
1回复

网络抓取40多个网站以在Python中寻找机会

我正在尝试为一家公司自动化在 40 多个网站中搜索机会(投标)的任务。 机会通常以表格格式显示。 它们有一个标题、发布日期和一个可点击的链接,可以让您详细了解机会是什么。 一个网站示例是: http : //www.eib.org/en/about/procurement/index.htm 目标是
1回复

使用Python和/so-sitemap.xml/的BeautifulSoup进行网络抓取

我正在尝试抓取一个页面website / post-sitemap.xml,其中包含针对wordpress网站发布的所有网址。 第一步,我需要列出后站点地图中存在的所有URL的列表。 当我使用request.get并检查输出时,它也会同时打开所有内部url,这很奇怪。 我的意图是首先列出所