我是Python的新手,我正在学习它用于刮擦,我正在使用BeautifulSoup来收集链接(即’a’标签的href)。我正在尝试收集http://allevents.in/lahore/网站“即将发生的事件”标签下的链接。我正在使用Firebug检查元素并获取CSS路径,但是此代码未返回任何内容。我正在寻找修复程序,并且还提供一些有关如何选择合适的CSS选择器以从任何站点检索所需链接的建议。我写了这段代码:
from bs4 import BeautifulSoup
import requests
url = "http://allevents.in/lahore/"
r = requests.get(url)
data = r.text
soup = BeautifulSoup(data)
for link in soup.select( 'html body div.non-overlay.gray-trans-back div.container div.row div.span8 div#eh-1748056798.events-horizontal div.eh-container.row ul.eh-slider li.h-item div.h-meta div.title a[href]'):
print link.get('href')
该页面在使用类和标记时不是最友好的,但是即使如此,您的CSS选择器也太具体了而无法在此处使用。
如果您想要即将发生的事件,则只需要第一个<div class="events-horizontal">
,然后只获取<div class="title"><a href="..."></div>
标签,因此标题上的链接:
upcoming_events_div = soup.select_one('div#events-horizontal')
for link in upcoming_events_div.select('div.title a[href]'):
print link['href']
请注意,您应 不 使用r.text
;
使用r.content
并保留对Unicode的解码到BeautifulSoup。请参阅utf-8中的字符编码问题
问题内容: 当用户将鼠标悬停在类名称为的元素上时,我尝试应用background-color 。 但是如果元素 也 有颜色,我不想更改颜色 注意:因为我在某种有限的环境中工作,所以只能使用CSS而不是JavaScript。 为了澄清,我的目标是为悬停时的第一个元素着色,而不是第二个元素。 的HTML 我在下面尝试过,希望第一个定义有效,但事实并非如此。我究竟做错了什么? 的CSS 问题答案: 一种
问题内容: 如何检索网页链接并使用Python复制链接的URL地址? 问题答案: 这是在中使用类的一小段代码:
问题内容: 我只想自行选择一个名为.date的类 由于某种原因,我无法使它正常工作。如果有人知道我的代码出了什么问题,将不胜感激。 问题答案: 我想写这个问题的规范答案,因为上面的答案有问题。 我们的问题 该 CSS 选择器: 将选择具有 foo 类的任何元素。 您如何在XPath中做到这一点? 尽管XPath比CSS强大,但是 XPath没有CSS类选择器的本机等效项 。但是,有一个解决方案。
我正在尝试使用JSoup从网站上刮取一些内容。以下是我感兴趣的页面中的一些HTML内容示例: 我有兴趣获得页面中所有的列表(所以"Fizz","Buzz","Foo"和"Bar")。但是我不能只查询,因为他们到处都在使用类来装饰许多不同的元素。具体来说,我需要存在于元素中的所有。请注意,pbks可以包含0个pgs,pgs可以包含0个热词,热词可以包含1个其他热词。我有以下代码: 运行该代码将生成以
我不知道如何使用Sizzle,那么我该如何使用它呢? 请给我提供一些示例代码。 谢谢Jakobaindreas1 P、 我总是问这样的问题
本文向大家介绍怎么使用css选择空链接?相关面试题,主要包含被问及怎么使用css选择空链接?时的应答技巧和注意事项,需要的朋友参考一下
问题内容: 如果我有以下HTML: 我如何将CSS选择器与Selenium一起使用来访问项目4(或实际上我想要的任何项目)? 问题答案: 您可以使用nth-child选择器: 实时示例:https://jsfiddle.net/7ow15mv2/1/ 但是不知道它是否可以与硒一起使用。 但是根据文档它应该。 当前,css选择器定位器支持所有css1,css2和css3选择器,但css3中的名称空间
问题内容: 我知道有一个名为Firefox的Dust-Me Selectors扩展,并且它不查看JavaScript生成的动态HTML。 我正在寻找一种工具,该工具可以识别样式表中所有未使用的选择器,这些样式表附加到多个页面,并且所有JavaScript正在运行并检查选择器?我现在知道的唯一选择是手动检查文件并找到未使用的选择器:( 在IDE中- 如果没有使用库,我相信NetBeans在编写Jav