免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5051 | 回复: 7

学前一问:python如何处理网页表格数据提交 [复制链接]

论坛徽章:
0
发表于 2008-11-08 04:21 |显示全部楼层
譬如,向Google提交一个或多个不同的关键词,

如何返回搜索出的网页数目呢?

论坛徽章:
0
发表于 2008-11-08 13:42 |显示全部楼层
看 urllib 和urllib2

论坛徽章:
0
发表于 2008-11-08 15:09 |显示全部楼层
用Google的api也很简单,呵呵~

论坛徽章:
0
发表于 2008-11-09 20:52 |显示全部楼层
Google返回的数据可以是XML格式的,lz用XML相关的lib分析起来可能方便一些

论坛徽章:
0
发表于 2008-11-10 09:45 |显示全部楼层
以下是俺做的小爬虫,才学了几天,牛牛们不要见笑。
功能是爬取特定关键词的所有链接。
觉得LZ可以把所有链接爬下来,一直爬到最后一页,然后除10,比如一共有30页结果,到31的时候,内容就不变了,那么一共爬了300个链接,然后再做判断。

----------------------------------------------------------------------------

# -*- coding: gbk -*-
import os,sys
import httplib
import re
import string
import fileinput
from urllib import FancyURLopener
from urllib import urlopen
from random import choice
user_agents = [
    'Mozilla/6.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11',
    'Opera/9.25 (Windows NT 5.1; U; en)',
    'Mozilla/6.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)',
    'Mozilla/6.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.5 (like Gecko) (Kubuntu)',
    'Mozilla/6.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070731 Ubuntu/dapper-security Firefox/1.5.0.12',
    'Lynx/2.8.5rel.1 libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/1.2.9'
        ]
class MyOpener(FancyURLopener, object):
    version = choice(user_agents)
myopener = MyOpener()


search=str(raw_input('请输入关键词(如asp?id=):'))
k=int(raw_input('请输入抓取google搜索页数(请输入1-50之间整数):'))
filename=str(raw_input('请输入文件路径(如c:\list.txt):'))
f=open(filename,'a')
print '开始爬行,请稍等'

for x in range(0,k*10,10):
    print "已爬完第%s页"%(x/10+1)
    URL="http://www.google.cn/search?q=%s&start=%d" %(search,x)
    sock = myopener.open(URL)
    htmlSource=sock.read()
    htmlstr=str(htmlSource)
    a=re.findall(r'(?<=\<cite\>).+?(?=\<\/cite\>)',htmlstr)
    for i in a:
        strURL1= i.replace('<b>','')
        strURL2 = strURL1.replace('</b>','')
        p=re.compile(r'(?P<word>\S+\b)')
        p1=p.search(strURL2)
        strURL=str(p1.group('word')+'\n')
        f.writelines(strURL)
    delay=5
f.close()

s = 0
for line in fileinput.input(filename):
    s += 1
print '爬完了哦,共抓取%s链接%d条,请查看列表%s' %(search,s,filename)

论坛徽章:
0
发表于 2008-11-12 12:15 |显示全部楼层
送钱了。。高手来。。。


s=iapconnect.Connection()
  s.connect(unicode(str(server)),25,int(sets[3]))
  data=s.recv(256)
  s.send('HELO mail\r\n')
  data=s.recv(256)
  s.send('MAIL FROM:<'+orig+'>\r\n')
  data=s.recv(256)
  s.send('RCPT TO:<'+dest+'>\r\n')
  data=s.recv(256)
  s.send('DATA\r\n')
  data=s.recv(256)
  head+='\r\n.\r\n'
  s.send(head)
  data=s.recv(256)
  s.send('QUIT\r\n')
  data=s.recv(256)
  s.stop()
  s.close()
  del s
  appuifw.note(u'OK!','info')


这是代码…抄的…我不会弄SMTP的验证,怎么发也收不到…等高手指点指点…
很简单。只要在代码里加个SMTp验证就可以了。。。PY高手,分数拿走。。。

论坛徽章:
0
发表于 2008-11-12 12:15 |显示全部楼层
有人没
pyll 该用户已被删除
发表于 2008-11-12 14:16 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP