Python 从搜索引擎获取结果

Python 从搜索引擎获取结果,python,Python,搜索引擎是search.lycos.co.uk。我可以通过脚本进行搜索,但我无法从源代码中获取每个单独的结果,非常感谢您的帮助。 编辑: 不确定从这里到哪里才能得到每个结果。我尝试了以下方法: query='testing!' page=1 host = 'http://search.lycos.co.uk/?query=%s&page2=%s' % (str(query), repr(page)) print urllib2.urlopen(host).read() 在那里试试看是否

搜索引擎是search.lycos.co.uk。我可以通过脚本进行搜索,但我无法从源代码中获取每个单独的结果,非常感谢您的帮助。 编辑:

不确定从这里到哪里才能得到每个结果。

我尝试了以下方法:

query='testing!'
page=1
host = 'http://search.lycos.co.uk/?query=%s&page2=%s' % (str(query), repr(page))
print urllib2.urlopen(host).read()
在那里试试看是否有效。它在这里起作用

另外,我创建了urllib2.Request,它在这里工作:

import urllib
import urllib2

data = {'query': 'testing', 'page2': '1'}
req = urllib2.Request(host, data=urllib.urlencode(data))
req.add_header('User-Agent', <yours>)
print urllib2.urlopen(req).read()
接下来,如果您想刮取数据,这些是很好的模块:


Lycos加密了他们的搜索结果。但是,你可以试试谷歌

import urllib, urllib2
from urllib import urlopen
from bs4 import BeautifulSoup
import re
from time import sleep
from random import choice, random

def scrapping_google(query):
    g_url = "http://www.google.com/search?q=%s&num=100&hl=en&start=0"  %(urllib.quote_plus(query))
    request = urllib2.Request(g_url, None, {'User-Agent':'Mozilla/5.0 (X11; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0'})
    open_url = urllib2.urlopen(request)
    read_url = open_url.read()
    g_soup = BeautifulSoup(read_url)

    remove_tag = re.compile(r'<.*?>')

    g_dict = {}

    scrap_count = g_soup.find('div', attrs={'id' : 'resultStats'})
    count = remove_tag.sub('', str(scrap_count)).replace('.','')
    only_count = count[0:-16]
    print 'Prediction result: ', only_count
    print '\n'

    for li in g_soup.findAll('li', attrs={'class' : 'g'}):
        links = li.find('a')
        print links['href']
        scrap_content = li.find('span', attrs={'class' : 'st'})
        content = remove_tag.sub('', str(scrap_content)).replace('.','')
        print content

    return g_dict

if __name__ == '__main__':
    fetch_links = scrapping_google('jokowi')

请提供更多细节。代码示例等。你能展示一下脚本吗?搜索引擎中是否有实际的编程API,而不是试图解析/阅读为人类最终用户编写的页面?很抱歉,你可能误解了,我可以做这部分,但我需要从源代码中分别获得每个结果,我不确定如何进行,这是另一种问题。。。看看lxml或BeautifulSoup。我看了一下反应,有一个非常简单的方法来提取结果。也许你应该稍微修改一下你的问题。干杯对不起,我在那里读到了这个问题,我一点也不清楚,我会研究它们,这对我来说是一件新事情,所以我很难把它弄对
import urllib, urllib2
from urllib import urlopen
from bs4 import BeautifulSoup
import re
from time import sleep
from random import choice, random

def scrapping_google(query):
    g_url = "http://www.google.com/search?q=%s&num=100&hl=en&start=0"  %(urllib.quote_plus(query))
    request = urllib2.Request(g_url, None, {'User-Agent':'Mozilla/5.0 (X11; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0'})
    open_url = urllib2.urlopen(request)
    read_url = open_url.read()
    g_soup = BeautifulSoup(read_url)

    remove_tag = re.compile(r'<.*?>')

    g_dict = {}

    scrap_count = g_soup.find('div', attrs={'id' : 'resultStats'})
    count = remove_tag.sub('', str(scrap_count)).replace('.','')
    only_count = count[0:-16]
    print 'Prediction result: ', only_count
    print '\n'

    for li in g_soup.findAll('li', attrs={'class' : 'g'}):
        links = li.find('a')
        print links['href']
        scrap_content = li.find('span', attrs={'class' : 'st'})
        content = remove_tag.sub('', str(scrap_content)).replace('.','')
        print content

    return g_dict

if __name__ == '__main__':
    fetch_links = scrapping_google('jokowi')