- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我一直在尝试为 yelp 编写爬虫。我想获取该页面上提供的供应商的链接,我知道它在 href="中给出,但返回的数组始终为空,请帮忙!提前谢谢你:)
import urllib
import mechanize
from bs4 import BeautifulSoup
import re
br = mechanize.Browser()
br.set_handle_robots(False)
br.addheaders= [('User-agent', 'chrome')]
BASE_URL = "http://www.yelp.com/"
regex = "u(?!.*u).*,"
patern =re.compile(regex)
search = "house cleaner"
location ="London, Uk"
term = search.replace(" ","+")
place = location.replace(",","%2C").replace(" ","+")
query = BASE_URL+"search?find_desc="+term+"&find_loc="+place+"&ns=1#start=0"
html = br.open(query).read()
soup = BeautifulSoup(html)
results = soup.findAll('ul',attrs={'class':'ylist ylist-bordered search-results'})
results_parse = str(results)
soup1 = BeautifulSoup(results_parse)
names =soup1.findAll("li")
for li in names:
soup2=BeautifulSoup(str(li))
links=soup2.findAll("a")
links_parse = links[0]
vendor_links=[a["href"] for a in links]
out= re.findall(patern,str(vendor_links))
print out
最佳答案
这是让您的代码按照您的意愿行事的文字问题的解决方案(但请参阅下文了解为什么我认为这不是一个好方法):
import requests
import lxml.html
BASE_URL = "http://www.yelp.com"
search = "house cleaner"
location ="London, Uk"
term = search.replace(" ","+")
place = location.replace(",","%2C").replace(" ","+")
query = BASE_URL + "/search?find_desc="+term+"&find_loc="+place+"&ns=1#start=0"
html = requests.get(query).content
tree = lxml.html.fromstring(html)
results = tree.xpath("//span[@class='indexed-biz-name']/a[@class='biz-name']/@href")
for result in results:
print BASE_URL + result
如果您进行更多的抓取,我为什么要对您的代码进行各种更改的一些指示:
但是,更一般地说,如果我想从网站中提取信息,我会做的第一件事是检查他们是否有 API。
Yelp does ,并且我建议您使用它。为什么?
关于python - Yelp 的 Python 网络爬虫,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21962537/
我正在使用 yelp api,我能够在 api 的帮助下检索产品评论。 但是,是否也可以使用 Yelp API 发表评论? 我需要从我自己的 php 脚本发布对产品的评论。 最佳答案 不,Yelp A
我知道我们可以使用 Yelp 评论搜索 API 搜索 Yelp 上发布的评论。是否可以使用 Yelp API 发布评论? 最佳答案 我尝试使用 Yelp API 来执行此操作,但当时不受支持。刚刚检查
我的 yelp 按钮的 html 代码是: Check out CurveSetter Tutoring on Yelp(function(d, t) {var g = d.createElement
我意识到 Yelp.com 会在鼠标移动或发生某些事情(单击元素)时进行某种跟踪。这是怎么回事?有图书馆吗?如何在不对性能造成几乎为零的影响的情况下做到这一点? 您可以在下面的 Firebug 中看到
我尝试从 Yelp 数据集挑战网站 (https://www.yelp.com/dataset_challenge) 打开文件。我已经成功做到了,但是,我无法打开文件,因为它没有扩展名。它大约是 4
我正在阅读 API 并单击业务 API 并找到 reviews作为可能的回应。描述中写道, List of up to 1 review snippet for the business 这是否意味着
这个问题在这里已经有了答案: Extracting an attribute value with beautifulsoup (10 个回答) 去年关闭。 从事网络抓取项目以建立我的知识(初学者)。
Yelp 是否提供 API 支持在企业页面上撰写评论?有没有办法从其他网站撰写评论? 最佳答案 不,而且不太可能会有。 全面披露:我在 Yelp 工作了 2 年多。 关于php - Yelp API
在查看了多篇在线文章、StackOverflow 和 Yelp Google Group 后,我无法找出 Yelp API 请求产生的无效签名错误的问题。 这是确切的错误: {'error': {'t
我正在尝试将 Yelp 的 API 与纬度/经度位置结合使用。我使用了 yelp 给出的 javascript 代码,它基本上有一个参数数组,并像这样将值插入其中: parameters.push([
我不知道如何将 target="_blank"属性添加到 5 星评级徽章。 这是我插入网页的内容...来自 yelp。我将最后一行添加到脚本中以尝试添加属性,但它不会接受。我可以,但是让它接受之前的
我正在尝试复制 yelp.com 上的星级评分小部件 - 5 星评分小部件,当您将鼠标悬停在下一颗星上时,所有之前的星星都会改变颜色以匹配活跃的星星。还需要一个显示星级描述的悬停状态。 您可以在此处查
我正在向 yelp api 发送请求以搜索提供纬度和经度的地点,但它给了我以下错误 error = { description = "Invalid signature. Ex
我正在使用 Yelp API,这是搜索方法: func searchWithTerm(term: String, success: (AFHTTPRequestOperation!, AnyObjec
在能够从业务匹配端点检索业务 ID 后,我现在尝试使用该业务 ID 将其汇集到业务详细信息端点。我只是在学习如何调用 API,所以请多多包涵。谢谢! 以下代码使我能够进行业务匹配: 调用API -->
我正在使用 Yelp API 调用业务匹配端点。不幸的是,我遇到了一个我已经玩了一段时间的错误,但似乎找不到它返回以下响应的原因: Optional({ error = {
我一直在尝试从使用 Firefox 时出现(最清晰)的 Yelp 站点徽章中移除底部边框。 div.yelp-biz-badge-script-plain-j3i0uapgqgIpKNS9KA2v4
我正在使用 Business Search Yelp Fusion Api 中的功能。 为什么我似乎无法获取所有业务? 这是一个例子: 当我发出这个请求时,它返回前 20 个结果和 485 的总属性。
我正在尝试使用 Yelp API2 做一些事情 $response = json_decode($data); 它以 PHP 对象格式返回数据,如下所示: stdClass Object ( [reg
我正在连接到 yelp 2.0 Api,我想知道是否有办法检索类别和子类别的列表。我知道该列表可在此处获得 http://www.yelp.com/developers/documentation/c
我是一名优秀的程序员,十分优秀!