从websi抓取数据

2024-06-16 09:33:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我面临的问题是链接在一起。我需要蜘蛛代码谁链接的网页上的链接和抓取我所需的细节,直到现在我的代码能够抓取所需的信息,但也有其他网页,所以我需要其他网页的信息太链接的基本网址包含的应用程序信息,然后我想收集所有的链接,从该网页,然后想切换下一个页面并重复相同的操作,然后我需要从我收集的链接中收集每个应用程序的详细信息,如它们的名称、版本号等
所以现在我可以收集所有的信息,只有链接是不相互联系的,我怎么能做到这一点,帮助我了。。。。。这是我的密码:

#extracting links
def linkextract(soup): 
    print "\n extracting links of next pages"
    print "\n\n page 2 \n"
        sAll = [div.find('a') for div in soup.findAll('div', attrs={'class':''})]
        for i in sAll:
            suburl = ""+i['href'] #checking pages
        print suburl
        pages = mech.open(suburl)
        content = pages.read()
        anosoup = BeautifulSoup(content)
        extract(anosoup)
    app_url = ""
    print app_url
    #print soup.prettify()
    page1 = mech.open(app_url)
    html1 = page1.read()
    soup1 = BeautifulSoup(html1)
    print "\n\n application page details \n"
    extractinside(soup1)

需要帮助谢谢。你知道吗


Tags: 代码div信息app应用程序url网页链接
1条回答
网友
1楼 · 发布于 2024-06-16 09:33:55

您应该从以下内容开始:

import urllib2
from bs4 import BeautifulSoup

URL = 'http://www.pcwelt.de/download-neuzugaenge.html'

soup = BeautifulSoup(urllib2.urlopen(URL))
links = [tr.td.a['href'] for tr in soup.find('div', {'class': 'boxed'}).table.find_all('tr') if tr.td]

for link in links:
    url = "http://www.pcwelt.de{0}".format(link)
    soup = BeautifulSoup(urllib2.urlopen(url))

    name = soup.find('span', {'itemprop': 'name'}).text
    version = soup.find('td', {'itemprop': 'softwareVersion'}).text
    print "Name: %s; Version: %s" % (name, version)

印刷品:

Name: Ashampoo Clip Finder HD Free; Version: 2.3.6
Name: Many Cam; Version: 4.0.63
Name: Roboform; Version: 7.9.5.7
...

希望有帮助。你知道吗

相关问题 更多 >