使用Python从inspect元素中获取代码

时间:2014-08-10 10:28:43

标签: python web mechanize inspect-element

在Safari浏览器中,我可以右键单击并选择" Inspect Element",然后会出现很多代码。是否可以使用Python获取此代码?最好的解决方案是获取包含代码的文件。

更具体地说,我正在尝试查找此页面上图片的链接:http://500px.com/popular。我可以看到来自" Inspect Element"的链接。我想用Python检索它们。

1 个答案:

答案 0 :(得分:5)

获取网页源代码的一种方法是使用Beautiful Soup library。显示了here的教程。页面中的代码如下所示,评论是我的。此特定代码不起作用,因为内容在其用作示例的网站上已更改,但该概念应该可以帮助您执行您想要执行的操作。希望它有所帮助。

from bs4 import BeautifulSoup
from urllib2 import urlopen

BASE_URL = "http://www.chicagoreader.com"

def get_category_links(section_url):
    # Put the stuff you see when using Inspect Element in a variable called html.
    html = urlopen(section_url).read()    
    # Parse the stuff.
    soup = BeautifulSoup(html, "lxml")    
    # The next two lines will change depending on what you're looking for. This 
    # line is looking for <dl class="boccat">.  
    boccat = soup.find("dl", "boccat")    
    # This line organizes what is found in the above line into a list of 
    # hrefs (i.e. links). 
    category_links = [BASE_URL + dd.a["href"] for dd in boccat.findAll("dd")]
    return category_links

编辑1:上面的解决方案提供了网络抓取的一般方法,但我同意对该问题的评论。 API绝对是这个网站的方式。感谢yuvi提供它。该API位于https://github.com/500px/PxMagic


编辑2:有一个关于获取热门照片链接的问题的示例。 example中的Python代码粘贴在下面。您需要安装API库。

import fhp.api.five_hundred_px as f
import fhp.helpers.authentication as authentication
from pprint import pprint
key = authentication.get_consumer_key()
secret = authentication.get_consumer_secret()

client = f.FiveHundredPx(key, secret)
results = client.get_photos(feature='popular')

i = 0
PHOTOS_NEEDED = 2
for photo in results:
    pprint(photo)
    i += 1
    if i == PHOTOS_NEEDED:
        break