我正在创建一个爬虫,它接受用户输入并抓取网站上的所有链接。但是,我只需要限制对来自该域的链接的链接的抓取和提取,而不是外部域。就爬虫而言,我把它放到了我需要的地方。我的问题是,对于我的 allowed_domains 函数,我似乎无法传入通过命令放入的 scrapy 选项。Bellow 是第一个运行的脚本:
# First Script
import os
def userInput():
user_input = raw_input("Please enter URL. Please do not include http://: ")
os.system("scrapy runspider -a user_input='http://" + user_input + "' crawler_prod.py")
userInput()
Run Code Online (Sandbox Code Playgroud)
它运行的脚本是爬虫,爬虫将爬取给定的域。下面是爬虫代码:
#Crawler
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
from scrapy.selector import HtmlXPathSelector
from scrapy.item import Item
from scrapy.spider import BaseSpider
from scrapy import Request
from scrapy.http import Request
class InputSpider(CrawlSpider):
name = "Input"
#allowed_domains = ["example.com"]
def allowed_domains(self):
self.allowed_domains = user_input
def start_requests(self): …Run Code Online (Sandbox Code Playgroud) 我有一个脚本,我正在与PHP表单一起使用.我正在尝试获取一个计数器字段,我在表单上填写员工ID字段填写下面一秒后计算我的代码.
<script type="text/javascript">
var counter = 0;
var timer;
var employee = document.getElementsByName("employeeID")[0];
var employeeVal = document.getElementsByName("employeeID")[0].value;
employee.addEventListener("onchange", startCount);
function countUP () {
counter = counter + 1; //increment the counter by 1
document.getElementsByName("timer_container")[0].value = counter;
}
function startCount () {
timer=setInterval('countUP()', 1000 );
}
function readonly() {
document.getElementsByName("timer_container")[0].readOnly = true;
}
</script>
Run Code Online (Sandbox Code Playgroud)
我尝试了不同的函数来查看事件监听器是否正在触发.我也试过使用不同的事件,onclick,onblur并没有任何运气.我已经采用了计时器功能,并将其设置为直接在HTML上的body标签中加载,并且可以正常工作.但是,只要有人将信息输入到员工字段中,我就需要这样做.