【问题标题】:Retrieving source code from a website with Python使用 Python 从网站检索源代码
【发布时间】:2016-12-27 17:15:21
【问题描述】:

我一直在尝试从一个网站中提取链接,但没有成功。从我读过的内容来看,它可以很容易地完成,但链接是网站内的一个弹出对话框。我可以获取链接的唯一方法是 ctrl-A 并查看要复制的源。

有没有办法在抓取整个内容之前全选?

感谢任何信息或指针!

编辑我想避免下载 python 已经拥有的任何东西,例如 BS/Scrapy 等。

【问题讨论】:

标签: python hyperlink


【解决方案1】:

就检索链接而言,可以按照 jonrsharpe 的建议使用 requestsbs4 来完成。我很高兴回答这个问题,因为我在一两天前写了其中一个。

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 指定标签的第一个问题(在大多数情况下它工作得很好,你必须检查其他人的正确 url)
在这里,您可以使用requests.get() 访问一个url 并获取所有数据,并使用bs4 给出的不同方法解析这些数据
顺便说一句,这段代码的 repo 是here。任何贡献将不胜感激。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-22
    • 1970-01-01
    • 2015-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-13
    • 1970-01-01
    相关资源
    最近更新 更多