我一直试图从网站上提取链接而没有运气。根据我的阅读,它可以很容易地完成,但链接是在网站内的弹出对话框。我可以获取链接的唯一方法是ctrl-A并查看要复制的源。
在抓取整个内容之前,有没有办法选择所有内容?
欣赏任何信息或指示!
编辑我想避免下载超出python已有的东西,例如BS / Scrapy等。
答案 0 :(得分:0)
就检索链接而言,可以使用jonrsharpe建议的requests和bs4来完成。我很高兴回答这个,因为我在1或2天前写了其中一个。
from sys import argv
import requests
from bs4 import BeautifulSoup
#from notify2 import notify2
from time import sleep
import notify2
def send_message(title, message):
notify2.init("Init")
notice = notify2.Notification(title, message)
notice.show()
return
url = "http://stackoverflow.com/feeds/tag?tagnames=%s&sort=newest" % argv[1]
while True:
r = requests.get(url)
while r.status_code is not 200:
r = requests.get(url)
soup = BeautifulSoup(r.text)
data = soup.find_all("link")
question = data[2].get('href')
question = question[question.find('questions') + 19:]
send_message("Question %s: " % argv[1].upper(), question)
sleep(60)
基本上,这个脚本每1分钟为您提供一次桌面通知。显示的数据是 stackoverflow指定标签的第一个问题(在大多数情况下,它工作得很好,你必须检查其他人的正确网址)
在这里,您可以使用requests.get()
访问网址并获取所有数据,并使用bs4
给出的不同方法解析这些数据。
顺便说一下,这段代码的回购是here。任何贡献都将不胜感激。