Python中文
首页
教程
问答
标签
搜索
登录
注册
Python中的简单webcrawler
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在自学Python并想出了一个简单的web爬虫引擎。代码如下</p> <pre><code>def find_next_url(page): start_of_url_line = page.find('<a href') if start_of_url_line == -1: return None, 0 else: start_of_url = page.find('"http', start_of_url_line) if start_of_url == -1: return None, 0 else: end_of_url = page.find('"', start_of_url + 1) one_url = page[start_of_url + 1 : end_of_url] return one_url, end_of_url def get_all_url(page): p = [] while True: url, end_pos = find_next_url(page) if url: p.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>(url) page = page[end_pos + 1 : ] else: break return p def union(a, b): for e in b: if e not in a: a.append(e) return a def webcrawl(seed): tocrawl = [seed] crawled = [] while True: page = tocrawl.pop() if page not in crawled: import urllib.request intpage = urllib.request.urlopen(page).read() openpage = str(intpage) union(tocrawl, get_all_url(openpage)) crawled.append(page) return crawled </code></pre> <p>但是我总是收到HTTP403错误。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>您可能需要添加请求头或其他身份验证。 尝试添加用户代理,以避免在某些情况下重述。在</p> <p>示例:</p> <pre><code> User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36 </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
拆分()错误:列表索引超出范围
8 回答
拆分(分解)数据帧字符串条目以分隔行
5 回答
拆分(分解)数据帧字符串条目以分隔行。多列
7 回答
拆分/提取系列索引中的字符串并作为DataFram展开
6 回答
拆分/标识字符串末尾的数字,该数字没有固定的字符数
3 回答
拆分2列CSV并保存到不同的文件
1 回答
拆分aconftest.py分成几个较小的conftestlike部分
9 回答
拆分apyspark.sql基于一列将数据帧放入多个表中
3 回答
拆分ascii/unicode字符串
9 回答
拆分a稀疏稀疏矩阵进入列车和tes
5 回答
拆分B的可能性
6 回答
拆分char上的查询字符串以获取不同的参数;Python:
3 回答
拆分csv fi中显示的图表
3 回答
拆分csv fi的列
9 回答
拆分CSV-fi需要Regex帮助
1 回答
拆分csv(和多选字段)以获取要导出到xlsx工作表的字段计数,我会不断获取“[blank]值和nan
6 回答
拆分CSV文件时出现标题问题[Python 3]
4 回答
拆分Cython代码后无法转换为Python对象
8 回答
拆分Dataframe,让线程处理每个部分,然后合并Datafram
3 回答
拆分dataframe列并删除额外变量
6 回答