使用Python从网站检索源代码

时间:2015-09-08 16:23:32

标签: python hyperlink

我一直试图从网站上提取链接而没有运气。根据我的阅读,它可以很容易地完成,但链接是在网站内的弹出对话框。我可以获取链接的唯一方法是ctrl-A并查看要复制的源。

在抓取整个内容之前,有没有办法选择所有内容?

欣赏任何信息或指示!

编辑我想避免下载超出python已有的东西,例如BS / Scrapy等。

1 个答案:

答案 0 :(得分:0)

就检索链接而言,可以使用jonrsharpe建议的requestsbs4来完成。我很高兴回答这个,因为我在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。任何贡献都将不胜感激。