爬虫(爬取单词)

爬取5500个考研单词

# -*- encoding:utf-8 -*-
import urllib.request
from bs4 import BeautifulSoup
import os
import lxml                    #文档解析器                     #os模块就是对操作系统进行操作
import numpy as np
urls=[]
titles=[]
#url = r'http://sousuo.gov.cn/s.htm?t=paper&n=10&p=0&advance=false&n=&timetype=&mintime=&maxtime=&sort=&q=%E6%88%BF%E5%9C%B0%E4%BA%A7&us=2' 
url = r'http://blog.csdn.net/a1456123a/article/list/7?t=1'+word
#指定要抓取的网页url,必须以http开头
res = urllib.request.urlopen(url) 
#调用urlopen()从服务器获取网页响应(respone),其返回的响应是一个实例
html = res.read().decode('utf-8')  
#调用返回响应示例中的read(),可以读取html
soup = BeautifulSoup(html, 'lxml')
result = soup.find_all('div',class_ = 'result')

#使用查询结果再创建一个BeautifulSoup对象,对其继续进行解析
download_soup = BeautifulSoup(str(result), 'lxml')
url_all = download_soup.find_all('a')
for a_url in url_all:
    a_title=a_url.get_text('target')
    #print(a_title)
    titles.append(a_title)
    a_url = a_url.get('href')
    urls.append(a_url)
    print(a_url)
 #定义txt存储路径。
picpath='D:/news1/'#这里我用的是本程序路径,也可改为c盘或d盘等路径。
def txt(name, text):  # 定义函数名
    savepath = picpath + name + '.txt'
    file = open(savepath, 'a', encoding='utf-8')#因为一个网页里有多个标签p,所以用'a'添加模式
    file.write(text)
    #print(text)
    file.close

#读取urls中存储的ulrs[i],爬取文本。
for i in range(len(urls)):
    try: 
        res = urllib.request.urlopen(urls[i])  
        html = res.read().decode('utf-8') 
        soup = BeautifulSoup(html, 'lxml')
        for p in soup.select('p'):
            t = p.get_text()
            txt(titles[i],t)
    except OSError:
        pass    #如果报错就不管,继续读取下一个url
    continue```

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值